ChangeLog revision 1.1.1.15 1 2019-02-22 Release Manager
2
3 * GCC 8.3.0 released.
4
5 2019-02-14 Jonathan Wakely <jwakely (a] redhat.com>
6
7 PR middle-end/89303
8 * testsuite/20_util/enable_shared_from_this/89303.cc: New test.
9
10 2019-02-09 Jonathan Wakely <jwakely (a] redhat.com>
11
12 Backport from mainline
13 2019-01-08 Jonathan Wakely <jwakely (a] redhat.com>
14
15 PR libstdc++/88066
16 * include/bits/locale_conv.h: Use <> for includes not "".
17 * include/ext/random: Likewise.
18 * include/ext/vstring.h: Likewise.
19
20 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
21
22 * doc/html/*: Regenerate.
23
24 * src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
25 if the path is already absolute.
26 [!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
27
28 Backport from mainline
29 2019-01-11 Jonathan Wakely <jwakely (a] redhat.com>
30
31 * include/std/chrono (duration_values::zero(), duration_values::min())
32 (duration_values::max()): Add noexcept.
33 (duration::zero(), duration::min(), duration::max()): Likewise.
34 (time_point::zero(), time_point::min(), time_point::max()): Likewise.
35 * testsuite/20_util/duration/requirements/noexcept.cc: New test.
36 * testsuite/20_util/time_point/requirements/noexcept.cc: New test.
37
38 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
39
40 Backport from mainline
41 2019-01-07 Jonathan Wakely <jwakely (a] redhat.com>
42
43 PR libstdc++/87787
44 * include/bits/char_traits.h (char_traits::move): Do not pass null
45 pointers to memmove.
46 * include/bits/locale_facets.h
47 (ctype<char>::widen(const char*, const char*, char*)): Do not
48 pass null pointers to memcpy.
49 (ctype<char>::narrow(const char*, const char*, char, char*)):
50 Likewise.
51 (ctype<char>::do_widen(const char*, const char*, char*)):
52 Likewise.
53 (ctype<char>::do_narrow(const char*, const char*, char, char*)):
54 Likewise.
55
56 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
57
58 Backport from mainline
59 2018-11-23 Martin Sebor <msebor (a] redhat.com>
60 Jonathan Wakely <jwakely (a] redhat.com>
61
62 PR libstdc++/65229
63 * python/libstdcxx/v6/printers.py (StdBitsetPrinter): Handle
64 exception thrown for std::bitset<0>.
65 * testsuite/libstdc++-prettyprinters/simple.cc: Test std::bitset<0>.
66
67 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
68
69 Backport from mainline
70 2018-11-23 Jonathan Wakely <jwakely (a] redhat.com>
71
72 PR libstdc++/87308 (partial)
73 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Adjust regex to
74 work around PR 88166.
75
76 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
77
78 Backport from mainline
79 2019-02-05 Jonathan Wakely <jwakely (a] redhat.com>
80
81 PR libstdc++/89128
82 * include/bits/stl_queue.h (queue, priority_queue): Add deduction
83 guides.
84 * include/bits/stl_stack.h (stack): Likewise.
85 * testsuite/23_containers/priority_queue/deduction.cc: New test.
86 * testsuite/23_containers/queue/deduction.cc: New test.
87 * testsuite/23_containers/stack/deduction.cc: New test.
88
89 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
90
91 Backport from mainline
92 2018-11-29 Jonathan Wakely <jwakely (a] redhat.com>
93
94 PR libstdc++/88119
95 * include/ext/aligned_buffer.h (__aligned_membuf): Add comment.
96 (__aligned_buffer): Use __alignof__ instead of std::alignment_of.
97 * include/std/type_traits (alignment_of): Use alignof instead of
98 __alignof__.
99 * testsuite/20_util/alignment_of/value.cc: Fix test to check values
100 match alignof not __alignof__, as required by the standard.
101
102 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
103
104 Backport from mainline
105 2018-11-28 Jonathan Wakely <jwakely (a] redhat.com>
106
107 PR libstdc++/83511
108 * include/std/string_view (basic_string_view::substr): Add default
109 argument to first parameter.
110 * include/experimental/string_view (basic_string_view::substr):
111 Likewise.
112 * testsuite/21_strings/basic_string_view/operations/substr/char/
113 83511.cc: New test.
114 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
115 83511.cc: New test.
116 * testsuite/experimental/string_view/operations/substr/char/83511.cc:
117 New test.
118 * testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc:
119 New test.
120
121 Backport from mainline
122 2018-11-19 Jonathan Wakely <jwakely (a] redhat.com>
123
124 PR libstdc++/88084 - Implement LWG 2777
125 * include/std/string_view (basic_string_view::copy): Use traits to
126 copy.
127 * testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
128 New test.
129 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
130 New test.
131
132 Backport from mainline
133 2018-11-29 Jonathan Wakely <jwakely (a] redhat.com>
134
135 PR libstdc++/86910
136 PR libstdc++/87846
137 * src/filesystem/ops.cc (experimental::create_directories): Report
138 an error when the path resolves to an existing non-directory (P1164).
139 * src/filesystem/std-ops.cc (create_directories): Likewise. Handle
140 empty filenames due to trailing slashes.
141 * testsuite/27_io/filesystem/operations/create_directories.cc: Test
142 when some component of the path exists and is not a directory. Test
143 trailing slashes.
144 * testsuite/experimental/filesystem/operations/create_directories.cc:
145 Likewise.
146
147 Backport from mainline
148 2018-11-28 Jonathan Wakely <jwakely (a] redhat.com>
149
150 * doc/xml/manual/intro.xml: Document LWG 3096 change.
151 * src/filesystem/std-path.cc (path::lexically_relative(const path&)):
152 Treat a final empty element equivalently to a final dot element.
153 * testsuite/27_io/filesystem/path/generation/relative.cc: Add checks
154 for the examples in the DR.
155
156 Backport from mainline
157 2018-07-20 Jonathan Wakely <jwakely (a] redhat.com>
158
159 PR libstdc++/86595
160 * include/bits/fs_dir.h (directory_entry::refresh(error_code&)): Add
161 noexcept.
162
163 Backport from mainline
164 2018-05-21 Jonathan Wakely <jwakely (a] redhat.com>
165
166 * src/filesystem/std-ops.cc (absolute): Report an error for empty
167 paths.
168 (weakly_canonical(const path&)): Do not call canonical on empty path.
169 (weakly_canonical(const path&, error_code&)): Likewise.
170 * testsuite/27_io/filesystem/operations/absolute.cc: Check for errors.
171
172 Backport from mainline
173 2019-01-30 Jonathan Wakely <jwakely (a] redhat.com>
174
175 PR libstdc++/89117
176 * src/c++17/fs_path.cc (path::replace_extension): Erase extension from
177 final component as well as from _M_pathname.
178 * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
179 Add more test cases.
180
181 2019-01-21 Jonathan Wakely <jwakely (a] redhat.com>
182
183 Backport from mainline
184 2019-01-18 Jonathan Wakely <jwakely (a] redhat.com>
185
186 PR libstdc++/87514
187 PR libstdc++/87520
188 PR libstdc++/88782
189 * include/bits/shared_ptr.h
190 (shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
191 (allocate_shared): Change to use new tag type.
192 (_Sp_alloc_shared_tag): Define new type.
193 (_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
194 (__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
195 Constrain to prevent being called with _Sp_alloc_shared_tag.
196 (__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
197 Replace constructor with ...
198 (__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
199 reference parameter so address of the new object can be returned to
200 the caller. Obtain the allocator from the tag type.
201 (__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
202 constructor with ...
203 (__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
204 to the __shared_count constructor.
205 (__allocate_shared): Change to use new tag type.
206
207 2019-01-14 Jonathan Wakely <jwakely (a] redhat.com>
208
209 PR libstdc++/80762
210 * testsuite/experimental/filesystem/path/construct/80762.cc: Add
211 dg-require-filesystem-ts directive.
212
213 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
214
215 Backport from mainline
216 2019-01-04 Jonathan Wakely <jwakely (a] redhat.com>
217
218 (path::lexically_normal()): Use std::vector iterators instead of
219 path::iterator. Use pop_back to remove components from the end. Clear
220 trailing filename, instead of using erase(const_iterator) to remove
221 a non-final component.
222 * testsuite/27_io/filesystem/path/generation/normal.cc: Test
223 additional cases.
224 * testsuite/27_io/filesystem/path/generation/normal2.cc: New test.
225
226 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
227
228 Backport from mainline
229 2018-12-12 Jonathan Wakely <jwakely (a] redhat.com>
230
231 PR libstdc++/80762
232 * include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
233 * include/experimental/bits/fs_path.h (path::_Path): Likewise.
234 * testsuite/27_io/filesystem/path/construct/80762.cc: New test.
235 * testsuite/experimental/filesystem/path/construct/80762.cc: New test.
236
237 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
238
239 Backport from mainline
240 2018-05-23 Jonathan Wakely <jwakely (a] redhat.com>
241
242 * include/bits/fs_path.h (path::_M_type): Change default member
243 initializer to _Filename.
244 (path::begin): Create past-the-end iterator for empty path.
245 (path::has_relative_path()): Return false for empty filenames.
246 (path::_M_split_cmpts): Set _M_type to _Filename for empty paths.
247 Fix offset of empty final component.
248 * testsuite/27_io/filesystem/path/itr/components.cc: New.
249 * testsuite/27_io/filesystem/path/itr/traversal.cc: Add new inputs.
250
251 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
252
253 Backport from mainline
254 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
255
256 * testsuite/util/testsuite_fs.h (nonexistent_path): Include name
257 of the source file containing the caller.
258 * testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
259 directories created by test.
260 * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
261 Likewise.
262 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
263 Likewise.
264 * testsuite/experimental/filesystem/iterators/
265 recursive_directory_iterator.cc: Likewise.
266
267 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
268
269 Backport from mainline
270 2018-11-27 Jonathan Wakely <jwakely (a] redhat.com>
271
272 * testsuite/27_io/filesystem/operations/canonical.cc: Remove
273 directory created by test.
274 * testsuite/27_io/filesystem/operations/symlink_status.cc: Remove
275 symlink created by test.
276
277 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
278
279 * src/filesystem/std-path.cc (path::remove_filename()): Remove debug
280 check that prevents building with -fno-exceptions.
281
282 2019-01-09 Jonathan Wakely <jwakely (a] redhat.com>
283
284 * testsuite/20_util/optional/cons/value_neg.cc: Change dg-error to
285 dg-prune-output. Remove unused header.
286
287 Backport from mainline
288 2019-01-08 Jonathan Wakely <jwakely (a] redhat.com>
289
290 PR libstdc++/87855
291 * include/std/optional (_Optional_payload_base): New class template
292 for common code hoisted from _Optional_payload specializations. Use
293 a template for the union, to allow a partial specialization for
294 types with non-trivial destructors. Add constructors for in-place
295 initialization to the union.
296 (_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
297 to perform non-trivial copy construction, instead of relying on
298 non-standard copy elision in a delegating constructor.
299 (_Optional_payload(bool, _Optional_payload&&)): Likewise for
300 non-trivial move construction.
301 (_Optional_payload): Derive from _Optional_payload_base and use it
302 for everything except the non-trivial assignment operators, which are
303 defined as needed.
304 (_Optional_payload<false, C, M>): Derive from the specialization
305 _Optional_payload<true, false, false> and add a destructor.
306 (_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
307 Forward to corresponding members of _Optional_payload.
308 (_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
309 Hoist common members from _Optional_base.
310 (_Optional_base): Make all members and base class public.
311 (_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
312 _Optional_base_impl.
313 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
314 support for new std::optional layout.
315 * testsuite/libstdc++-prettyprinters/compat.cc: New test.
316
317 Backport from mainline
318 2018-11-19 Ville Voutilainen <ville.voutilainen (a] gmail.com>
319
320 PR libstdc++/87855
321 Also implement P0602R4 (variant and optional
322 should propagate copy/move triviality) for std::optional.
323 * include/std/optional (_Optional_payload): Change
324 the main constraints to check constructibility in
325 addition to assignability.
326 (operator=): Make constexpr.
327 (_M_reset): Likewise.
328 (_M_construct): Likewise.
329 (operator->): Likewise.
330 * testsuite/20_util/optional/assignment/8.cc: Adjust.
331 * testsuite/20_util/optional/assignment/9.cc: New.
332
333 2018-12-23 Iain Sandoe <iain (a] sandoe.co.uk>
334
335 Backport from mainline
336 2018-12-06 Iain Sandoe <iain (a] sandoe.co.uk>
337
338 * scripts/make_exports.pl (check names): Dont try to export
339 construction vtable symbols.
340
341 2018-12-22 Iain Sandoe <iain (a] sandoe.co.uk>
342
343 Backport from mainline
344 2018-12-06 Jonathan Wakely <jwakely (a] redhat.com>
345 Iain Sandoe <iain (a] sandoe.co.uk>
346
347 PR libstdc++/64883
348 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test
349 always_inline on Darwin.
350 * testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise.
351 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
352 * testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise.
353 * testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise.
354
355 2018-12-06 Iain Sandoe <iain (a] sandoe.co.uk>
356
357 Backport from mainline
358 2018-08-25 Iain Sandoe <iain (a] sandoe.co.uk>
359
360 PR libstdc++/70694
361 * configure.host (OPT_LDFLAGS): Don't append
362 -fvisibility-inlines-hidden for newer Darwin.
363
364 2018-11-28 Franois Dumont <fdumont (a] gcc.gnu.org>
365
366 PR libstdc++/88199
367 * include/bits/hashtable.h
368 (_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate
369 former buckets after assignment.
370 * testsuite/23_containers/unordered_set/allocator/move_assign.cc
371 (test03): New.
372
373 2018-11-22 Jonathan Wakely <jwakely (a] redhat.com>
374
375 Backport from mainline
376 2018-11-22 Jonathan Wakely <jwakely (a] redhat.com>
377
378 PR libstdc++/85930
379 PR libstdc++/87520
380 * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti)
381 [__cpp_rtti]: Define even when RTTI is enabled. Use array of
382 sizeof(type_info) so that type-punned reference binds to an object
383 of the correct size as well as correct alignment.
384 (_Sp_counted_ptr_inplace::_M_get_deleter) [__cpp_rtti]: Check for
385 _S_ti() reference even when RTTI is enabled.
386 (__shared_ptr(_Sp_make_shared_tag, const _Alloc&, _Args&&...))
387 [__cpp_rtti]: Pass _S_ti() instead of typeid(_Sp_make_shared_tag).
388
389 2018-10-31 Jonathan Wakely <jwakely (a] redhat.com>
390
391 Backport from mainline
392 2018-10-31 Jonathan Wakely <jwakely (a] redhat.com>
393
394 PR libstdc++/87822
395 * include/bits/stl_pair.h (__pair_base): Change to class template.
396 (pair): Make base class type depend on template parameters.
397 * testsuite/20_util/pair/87822.cc: New test.
398
399 2018-10-30 Jonathan Wakely <jwakely (a] redhat.com>
400
401 Backport from mainline
402 2018-10-30 Jonathan Wakely <jwakely (a] redhat.com>
403
404 PR libstdc++/87809
405 * include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use
406 trait in exception-specification instead of possibly invalid
407 expression.
408 * include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
409 Likewise.
410 * include/bits/stl_list.h (_List_impl::_List_impl()): Likewise.
411 * testsuite/23_containers/forward_list/cons/87809.cc: New test.
412 * testsuite/23_containers/list/cons/87809.cc: New test.
413 * testsuite/23_containers/vector/bool/cons/87809.cc: New test.
414 * testsuite/23_containers/vector/cons/87809.cc: New test.
415
416 2018-10-25 Jonathan Wakely <jwakely (a] redhat.com>
417
418 PR libstdc++/87749
419 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
420 (basic_string::operator=(basic_string&&)): For short strings copy the
421 buffer inline. Only fall back to using assign(const basic_string&) to
422 do a deep copy when reallocation is needed.
423 * testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
424 New test.
425 * testsuite/21_strings/basic_string/modifiers/assign/char/
426 move_assign_optim.cc: New test.
427 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
428 New test.
429 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
430 move_assign_optim.cc: New test.
431
432 2018-10-23 Jonathan Wakely <jwakely (a] redhat.com>
433
434 PR libstdc++/87704
435 * include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do
436 not delegate to default constructor.
437 (unique_ptr<T[], D>::unique_ptr(nullptr_t)): Likewise.
438 * testsuite/20_util/unique_ptr/cons/incomplete.cc: New test.
439
440 2018-10-19 Jonathan Wakely <jwakely (a] redhat.com>
441
442 * include/bits/regex_executor.tcc (_Backref_matcher::_M_apply): Use
443 _GLIBCXX_STD_A to refer to normal mode algorithms.
444 * testsuite/28_regex/headers/regex/parallel_mode.cc: New test.
445 * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Remove empty
446 whitespace.
447
448 2018-10-18 Jonathan Wakely <jwakely (a] redhat.com>
449
450 Backport from mainline
451 2018-10-18 Jonathan Wakely <jwakely (a] redhat.com>
452
453 PR libstdc++/87641
454 * include/bits/valarray_array.h (__valarray_sum): Use first element
455 to initialize accumulator instead of value-initializing it.
456 * testsuite/26_numerics/valarray/87641.cc: New test.
457
458 2018-10-15 Jonathan Wakely <jwakely (a] redhat.com>
459
460 * testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to
461 account for change to glibc it_IT localedata (glibc bz#10797).
462
463 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
464
465 Backport from mainline
466 2018-07-31 Jonathan Wakely <jwakely (a] redhat.com>
467
468 PR libstdc++/86751
469 * include/bits/stl_pair.h (__pair_base): New class with deleted copy
470 assignment operator.
471 (pair): Derive from __pair_base.
472 (pair::operator=): Remove deleted overload.
473 * python/libstdcxx/v6/printers.py (StdPairPrinter): New pretty printer
474 so that new base class isn't shown in GDB.
475 * testsuite/20_util/pair/86751.cc: New test.
476 * testsuite/20_util/pair/ref_assign.cc: New test.
477
478 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
479
480 Backport from mainline
481 2018-09-03 Jonathan Wakely <jwakely (a] redhat.com>
482
483 PR libstdc++/78595
484 * include/bits/stl_map.h (map::insert(_Pair&&))
485 (map::insert(const_iterator, _Pair&&)): Do emplace instead of insert.
486 * include/bits/stl_multimap.h (multimap::insert(_Pair&&))
487 (multimap::insert(const_iterator, _Pair&&)): Likewise.
488 * include/bits/unordered_map.h (unordered_map::insert(_Pair&&))
489 (unordered_map::insert(const_iterator, _Pair&&))
490 (unordered_multimap::insert(_Pair&&))
491 (unordered_multimap::insert(const_iterator, _Pair&&)): Likewise.
492 * include/std/type_traits (__enable_if_t): Define for C++11.
493 * testsuite/23_containers/map/modifiers/insert/78595.cc: New test.
494 * testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test.
495 * testsuite/23_containers/unordered_map/modifiers/78595.cc: New test.
496 * testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New
497 test.
498
499 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
500
501 Backport from mainline
502 2018-08-30 Jonathan Wakely <jwakely (a] redhat.com>
503
504 * include/ext/pointer.h (_Pointer_adapter): Define operators for
505 pointer arithmetic using long long offsets.
506 * testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using
507 long long values.
508
509 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
510
511 Backport from mainline
512 2018-08-23 Jonathan Wakely <jwakely (a] redhat.com>
513
514 * testsuite/21_strings/basic_string/init-list.cc:
515 Require cxx11-abi.
516 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
517 Likewise.
518 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
519 Likewise.
520
521 Backport from mainline
522 2018-08-22 Jonathan Wakely <jwakely (a] redhat.com>
523
524 PR libstdc++/87061
525 * include/experimental/regex [!_GLIBCXX_USE_CXX11_ABI]
526 (experimental::pmr::match_results, experimental::pmr::cmatch)
527 (experimental::pmr::smatch, experimental::pmr::wcmatch)
528 (experimental::pmr::wsmatch): Do not declare for gcc4-compatible ABI,
529 because COW strings don't support C++11 allocator model.
530 * include/experimental/string [!_GLIBCXX_USE_CXX11_ABI]
531 (experimental::pmr::basic_string, experimental::pmr::string)
532 (experimental::pmr::u16string, experimental::pmr::u32string)
533 (experimental::pmr::wstring): Likewise.
534
535 Backport from mainline
536 2018-08-15 Jonathan Wakely <jwakely (a] redhat.com>
537
538 * include/experimental/regex: Remove begin/end macros for namespace.
539 * include/experimental/string: Likewise.
540 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc:
541 New test.
542 * testsuite/experimental/polymorphic_allocator/
543 pmr_typedefs_forward_list.cc: New test.
544 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc:
545 New test.
546 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc:
547 New test.
548 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
549 New test.
550 * testsuite/experimental/polymorphic_allocator/
551 pmr_typedefs_multimap.cc: New test.
552 * testsuite/experimental/polymorphic_allocator/
553 pmr_typedefs_multiset.cc: New test.
554 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc:
555 New test.
556 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
557 New test.
558 * testsuite/experimental/polymorphic_allocator/
559 pmr_typedefs_unordered_map.cc: New test.
560 * testsuite/experimental/polymorphic_allocator/
561 pmr_typedefs_unordered_multimap.cc: New test.
562 * testsuite/experimental/polymorphic_allocator/
563 pmr_typedefs_unordered_multiset.cc: New test.
564 * testsuite/experimental/polymorphic_allocator/
565 pmr_typedefs_unordered_set.cc: New test.
566 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc:
567 New test.
568
569 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
570
571 Backport from mainline
572 2018-07-24 Jonathan Wakely <jwakely (a] redhat.com>
573
574 PR libstdc++/70966
575 * include/experimental/memory_resource (__get_default_resource): Use
576 placement new to create an object with dynamic storage duration.
577
578 Backport from mainline
579 2018-06-20 Jonathan Wakely <jwakely (a] redhat.com>
580
581 PR libstdc++/70966
582 * include/experimental/memory_resource (__resource_adaptor_imp): Add
583 static assertions to enforce requirements on pointer types.
584 (__resource_adaptor_imp::get_allocator()): Add noexcept.
585 (new_delete_resource, null_memory_resource): Return address of an
586 object with dynamic storage duration.
587 (__null_memory_resource): Remove.
588 * testsuite/experimental/memory_resource/70966.cc: New.
589
590 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
591
592 PR libstdc++/77854
593 * doc/xml/manual/status_cxx1998.xml: Document size_type and
594 difference_type for containers.
595 * doc/html/*: Regenerate.
596
597 2018-10-08 Joseph Myers <joseph (a] codesourcery.com>
598
599 Backport from mainline
600 2018-10-02 Joseph Myers <joseph (a] codesourcery.com>
601
602 * testsuite/lib/libstdc++.exp (libstdc++_init): Use
603 -fno-show-column in default cxxflags.
604
605 2018-10-08 Jonathan Wakely <jwakely (a] redhat.com>
606
607 Backport from mainline
608 2018-10-08 Jonathan Wakely <jwakely (a] redhat.com>
609
610 PR libstdc++/87538
611 * include/std/functional (_Not_fn::operator()): Check value of
612 __is_nothrow_invocable as well.
613 * testsuite/20_util/function_objects/not_fn/87538.cc: New test.
614 * testsuite/experimental/functional/87538.cc: New test.
615
616 2018-09-11 Jonathan Wakely <jwakely (a] redhat.com>
617
618 PR libstdc++/87278
619 * include/bits/shared_ptr.h (make_shared): Use remove_cv instead of
620 remove_const.
621 * testsuite/20_util/shared_ptr/creation/87278.cc: New test.
622
623 2018-08-28 Jonathan Wakely <jwakely (a] redhat.com>
624
625 PR libstdc++/87116
626 * src/filesystem/std-path.cc (path::lexically_normal): When handling
627 a dot-dot filename, preserve an empty final component in the iteration
628 sequence.
629 [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use preferred-separator for
630 root-directory.
631 * testsuite/27_io/filesystem/path/generation/normal.cc: Add new tests
632 for more than two adjacent dot-dot filenames.
633 [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Replace slashes with
634 preferred-separator in expected normalized strings.
635
636 2018-08-13 Jonathan Wakely <jwakely (a] redhat.com>
637
638 Revert
639 2018-08-10 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
640
641 PR target/85904
642 * configure.ac: Define HAVE_ALIGNED_ALLOC if building for
643 Newlib.
644 * configure: Regenerate.
645
646 2018-08-10 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
647
648 Backport from mainline
649 2018-08-10 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
650
651 PR target/85904
652 * configure.ac: Define HAVE_ALIGNED_ALLOC if building for
653 Newlib.
654 * configure: Regenerate.
655
656 2018-08-08 Jonathan Wakely <jwakely (a] redhat.com>
657
658 * libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to
659 avoid clashing with an ::aligned_alloc function that was not detected
660 by configure.
661
662 PR libstdc++/86597
663 * include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)):
664 Clear error_code when cached type is used.
665 * testsuite/27_io/filesystem/directory_entry/86597.cc: New test.
666
667 * doc/xml/manual/using.xml: Remove C++2a headers not on gcc-8-branch.
668 * doc/html/*: Regenerate.
669
670 * doc/xml/manual/using.xml: Add missing header to table and fix typo.
671 Remove C++17 headers not present on gcc-8-branch.
672 * doc/html/*: Regenerate.
673
674 2018-08-07 Jonathan Wakely <jwakely (a] redhat.com>
675
676 Backport from mainline
677 2018-07-31 Jonathan Wakely <jwakely (a] redhat.com>
678
679 * doc/xml/manual/test.xml: Improve documentation on writing tests for
680 newer standards.
681 * doc/xml/manual/using.xml: Document all headers for C++11 and later.
682 * doc/html/*: Regenerate.
683
684 Backport from mainline
685 2018-05-03 Jonathan Wakely <jwakely (a] redhat.com>
686
687 PR libstdc++/84535
688 * include/std/thread (thread::__not_same): New SFINAE helper.
689 (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
690 first argument is not a std::thread. Add static assertion to check
691 INVOKE expression is valid.
692 (thread::thread(thread&), thread::thread(const thread&&)): Remove.
693 * testsuite/30_threads/thread/cons/84535.cc: New.
694
695 Backport from mainline
696 2018-08-03 Jonathan Wakely <jwakely (a] redhat.com>
697
698 * src/c++11/system_error.cc
699 (system_error_category::default_error_condition): Add workaround for
700 ENOTEMPTY and EEXIST having the same value on AIX.
701 * testsuite/19_diagnostics/error_category/system_category.cc: Add
702 extra testcases for EDOM, EILSEQ, ERANGE, EEXIST and ENOTEMPTY.
703
704 Backport from mainline
705 2018-08-01 Jonathan Wakely <jwakely (a] redhat.com>
706
707 PR libstdc++/60555
708 * src/c++11/system_error.cc
709 (system_error_category::default_error_condition): New override to
710 check for POSIX errno values.
711 * testsuite/19_diagnostics/error_category/generic_category.cc: New
712 * testsuite/19_diagnostics/error_category/system_category.cc: New
713 test.
714
715 Backport from mainline
716 2018-08-07 Jonathan Wakely <jwakely (a] redhat.com>
717
718 PR libstdc++/86874
719 * include/std/variant (_Copy_ctor_base::_M_destructive_move): Define
720 here instead of in _Move_assign_base.
721 (_Copy_ctor_base<true, _Types...>::_M_destructive_move): Define.
722 (_Copy_assign_base::operator=): Use _M_destructive_move when changing
723 the contained value to another alternative.
724 (_Move_assign_base::operator=): Likewise.
725 (_Move_assign_base::_M_destructive_move): Remove.
726 * testsuite/20_util/variant/86874.cc: New test.
727
728 Backport from mainline
729 2018-08-07 Jonathan Wakely <jwakely (a] redhat.com>
730
731 PR libstdc++/86861
732 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc):
733 Replace macro with inline function.
734 [__sun]: Increase alignment to meet memalign precondition.
735 [!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN]
736 (aligned_alloc): Move check for valid alignment to operator new.
737 Remove redundant check for non-zero size, it's enforced by the caller.
738 (operator new): Move check for valid alignment here. Use
739 __builtin_expect on check for zero size.
740
741 2018-07-31 Jonathan Wakely <jwakely (a] redhat.com>
742
743 Backport from mainline
744 2018-07-30 Jonathan Wakely <jwakely (a] redhat.com>
745
746 * libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Add
747 workaround for aligned_alloc bug on AIX.
748 * testsuite/18_support/new_aligned.cc: New test.
749
750 Backport from mainline
751 2018-07-20 Fangrui Song <maskray (a] google.com>
752
753 * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use
754 _GLIBCXX_VISIBILITY(default).
755
756 Backport from mainline
757 2018-07-30 Jonathan Wakely <jwakely (a] redhat.com>
758
759 PR libstdc++/86734
760 * include/bits/stl_iterator.h (reverse_iterator::operator->): Use
761 addressof (LWG 2188).
762 * testsuite/24_iterators/reverse_iterator/dr2188.cc: New test.
763
764 Backport from mainline
765 2018-05-08 Jonathan Wakely <jwakely (a] redhat.com>
766
767 PR libstdc++/85672
768 * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
769 to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
770 * include/Makefile.in: Regenerate.
771 * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
772 within conditional block.
773
774 Backport from mainline
775 2018-05-01 Tulio Magno Quites Machado Filho <tuliom (a] linux.vnet.ibm.com>
776
777 PR libstdc++/84654
778 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
779 * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
780 * configure: Regenerate.
781 * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
782 based on ENABLE_FLOAT128.
783 * include/Makefile.in: Regenerate.
784 * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
785 [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
786 _GLIBCXX_USE_FLOAT128.
787
788 2018-07-26 Marek Polacek <polacek (a] redhat.com>
789
790 * testsuite/30_threads/condition_variable_any/cond.cc: New.
791
792 2018-07-26 Release Manager
793
794 * GCC 8.2.0 released.
795
796 2018-07-18 Jonathan Wakely <jwakely (a] redhat.com>
797
798 Backport from mainline
799 2018-07-05 Jonathan Wakely <jwakely (a] redhat.com>
800
801 * testsuite/21_strings/basic_string/cons/char/deduction.cc: XFAIL for
802 COW strings.
803 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
804 Likewise.
805
806 Backport from mainline
807 2018-07-04 Jonathan Wakely <jwakely (a] redhat.com>
808
809 * testsuite/25_algorithms/make_heap/complexity.cc: Require effective
810 target for std::random_device.
811 * testsuite/26_numerics/random/random_device/cons/default.cc:
812 Likewise.
813 * testsuite/experimental/algorithm/sample-2.cc: Likewise.
814 * testsuite/experimental/algorithm/shuffle.cc: Likewise.
815 * testsuite/experimental/random/randint.cc: Likewise.
816 * testsuite/lib/libstdc++.exp
817 (check_effective_target_random_device): New proc.
818
819 Backport from mainline
820 2018-06-26 David Edelsohn <dje.gcc (a] gmail.com>
821
822 * testsuite/experimental/algorithm/sample-2.cc: Add TLS DejaGNU
823 directives.
824 * testsuite/experimental/algorithm/shuffle.cc: Likewise.
825
826 Backport from mainline
827 2018-06-25 Jonathan Wakely <jwakely (a] redhat.com>
828
829 * include/experimental/algorithm (sample, shuffle): Add new overloads
830 using per-thread random number engine.
831 * testsuite/experimental/algorithm/sample.cc: Simpify and reduce
832 dependencies by using __gnu_test::test_container.
833 * testsuite/experimental/algorithm/sample-2.cc: New.
834 * testsuite/experimental/algorithm/shuffle.cc: New.
835
836 2018-07-16 Andreas Krebbel <krebbel (a] linux.ibm.com>
837
838 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
839 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
840 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
841
842 2018-07-05 Franois Dumont <fdumont (a] gcc.gnu.org>
843
844 Backport from mainline
845 2018-07-04 Franois Dumont <fdumont (a] gcc.gnu.org>
846
847 PR libstdc++/86272
848 * include/debug/string
849 (__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)):
850 Use __glibcxx_check_insert_range.
851
852 2018-07-04 Jonathan Wakely <jwakely (a] redhat.com>
853
854 Backport from mainline
855 2018-05-19 Jonathan Wakely <jwakely (a] redhat.com>
856
857 * src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
858 [__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
859 little_endian element in bitmask.
860 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
861 * testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
862
863 Backport from mainline
864 2018-07-03 Jonathan Wakely <jwakely (a] redhat.com>
865
866 * include/bits/alloc_traits.h: Remove redundant preprocessor
867 condition.
868
869 Backport from mainline
870 2018-06-27 Jonathan Wakely <jwakely (a] redhat.com>
871
872 * include/bits/cpp_type_traits.h [__cplusplus >= 201703]
873 (__is_byte<byte>): Define specialization for std::byte.
874
875 Backport from mainline
876 2018-06-18 Jonathan Wakely <jwakely (a] redhat.com>
877
878 LWG 3050 Fix cv-qualification of convertibility constraints
879 * include/std/chrono (duration, operator*, operator/, operator%): Use
880 const-qualified type as source type in is_convertible constraints.
881 * testsuite/20_util/duration/arithmetic/dr3050.cc: New.
882 * testsuite/20_util/duration/cons/dr3050.cc: New.
883 * testsuite/20_util/duration/literals/range.cc: Rename to...
884 * testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
885 dg-error lineno.
886
887 Backport from mainline
888 2018-06-13 Jonathan Wakely <jwakely (a] redhat.com>
889
890 PR libstdc++/86127
891 * include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
892 unused typedef.
893 (_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
894 Use node allocator to create and destroy elements.
895 (forward_list::_Tp_alloc_type): Remove unused typedef.
896 (forward_list::_Alloc_traits): Use allocator_traits instead of
897 __gnu_cxx::__alloc_traits.
898
899 Backport from mainline
900 2018-05-29 Jonathan Wakely <jwakely (a] redhat.com>
901
902 * include/std/variant (__erased_dtor): Qualify call to __get.
903
904 Backport from mainline
905 2018-05-15 Jonathan Wakely <jwakely (a] redhat.com>
906
907 * include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
908 __invoke to prevent ADL.
909
910 Backport from mainline
911 2018-05-24 Maya Rashish <coypu (a] sdf.org>
912
913 PR target/85904
914 * crossconfig.m4: Test for aligned_alloc on netbsd.
915 * configure: Regenerate.
916
917 Backport from mainline
918 2018-05-18 Jonathan Wakely <jwakely (a] redhat.com>
919
920 PR libstdc++/85098
921 * include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
922 (basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
923 (basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
924 (basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
925 definitions.
926 * include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
927 whitespace.
928 * include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
929 braces around body of do-while.
930 * testsuite/28_regex/basic_regex/85098.cc: New
931
932 Backport from mainline
933 2018-05-07 Jonathan Wakely <jwakely (a] redhat.com>
934
935 PR libstdc++/85671
936 * include/bits/fs_path.h (operator/): Permit copy elision.
937 * include/experimental/bits/fs_path.h (operator/): Likewise.
938
939 Backport from mainline
940 2018-06-14 Daniel Trebbien <dtrebbien (a] gmail.com>
941 Jonathan Wakely <jwakely (a] redhat.com>
942
943 PR libstdc++/83982
944 * include/bits/vector.tcc (vector::_M_default_append(size_type)):
945 Default-construct new elements before moving existing ones.
946 * testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
947 New.
948
949 Backport from mainline
950 2018-06-25 Jonathan Wakely <jwakely (a] redhat.com>
951
952 PR libstdc++/86292
953 * include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>):
954 Add try-catch block.
955 * testsuite/23_containers/vector/cons/86292.cc: New.
956
957 Backport from mainline
958 2018-06-27 Jonathan Wakely <jwakely (a] redhat.com>
959
960 PR libstdc++/86138
961 * include/bits/basic_string.tcc: [_GLIBCXX_EXTERN_TEMPLATE < 0]
962 Declare explicit instantiations of COW empty reps and I/O functions.
963
964 Backport from mainline
965 2018-06-16 Jonathan Wakely <jwakely (a] redhat.com>
966
967 LWG 3076 basic_string CTAD ambiguity
968 * doc/xml/manual/intro.xml: Document LWG 3076 change.
969 * include/bits/basic_string.h
970 [__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
971 (basic_string(const _CharT*, const _Alloc&)): Turn into a function
972 template constrained by _RequireAllocator.
973 (basic_string(size_type, _CharT, const _Alloc&)): Likewise.
974 * src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
975 Define.
976 * testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
977 deduction
978 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
979 Likewise.
980
981 Backport from mainline
982 2018-06-14 Jonathan Wakely <jwakely (a] redhat.com>
983
984 LWG 3075 basic_string needs deduction guides from basic_string_view
985 * include/bits/basic_string.h: Add deduction guides from string_view.
986 * testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
987 deduction from string views.
988 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
989 Likewise.
990
991 Backport from mainline
992 2018-05-03 Jonathan Wakely <jwakely (a] redhat.com>
993
994 PR libstdc++/84087 LWG DR 2268 basic_string default arguments
995 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
996 (append(const basic_string&, size_type, size_type)
997 (assign(const basic_string&, size_type, size_type)
998 (insert(size_type, const basic_string&, size_type, size_type)
999 (replace(size_type,size_type,const basic_string&,size_type,size_type)
1000 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
1001 Add default arguments (LWG 2268).
1002 [_GLIBCXX_USE_CXX11_ABI=0]
1003 (append(const basic_string&, size_type, size_type)
1004 (assign(const basic_string&, size_type, size_type)
1005 (insert(size_type, const basic_string&, size_type, size_type)
1006 (replace(size_type,size_type,const basic_string&,size_type,size_type)
1007 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
1008 Likewise.
1009 * testsuite/21_strings/basic_string/dr2268.cc: New test.
1010
1011 PR libstdc++/86398
1012 * include/std/type_traits (is_trivially_constructible): Check
1013 is_constructible before __is_trivially_constructible.
1014 * testsuite/20_util/is_trivially_constructible/value.cc: Add more
1015 tests, including negative cases.
1016 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use
1017 zero for dg-error lineno.
1018 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1019 Likewise.
1020
1021 2018-06-25 Jonathan Wakely <jwakely (a] redhat.com>
1022
1023 PR libstdc++/86112
1024 * python/libstdcxx/v6/printers.py (add_one_template_type_printer):
1025 Replace dict comprehension.
1026
1027 2018-06-25 Jonathan Wakely <jwakely (a] redhat.com>
1028
1029 PR libstdc++/81092
1030 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1031
1032 2018-06-22 Jonathan Wakely <jwakely (a] redhat.com>
1033
1034 Backport from mainline
1035 2018-06-22 Jonathan Wakely <jwakely (a] redhat.com>
1036
1037 PR libstdc++/86138
1038 * include/bits/basic_string.tcc:
1039 [__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI]
1040 (basic_string<char>::_Rep::_S_empty_rep_storage)
1041 (basic_string<wchar_t>::_Rep::_S_empty_rep_storage): Add explicit
1042 instantiation declarations.
1043 [__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable
1044 explicit instantiation declarations.
1045 * testsuite/21_strings/basic_string/cons/char/86138.cc: New.
1046 * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New.
1047
1048 2018-06-21 Jonathan Wakely <jwakely (a] redhat.com>
1049
1050 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1051
1052 2018-06-19 Jonathan Wakely <jwakely (a] redhat.com>
1053
1054 * include/std/utility: Remove unused <exception> header.
1055
1056 2018-06-19 Jonathan Wakely <jwakely (a] redhat.com>
1057
1058 Backport from mainline
1059 2018-05-03 Jonathan Wakely <jwakely (a] redhat.com>
1060
1061 PR libstdc++/82644
1062 * include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
1063 inline definitions instead of using-declarations.
1064 [__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
1065 * testsuite/tr1/5_numerical_facilities/special_functions/
1066 07_conf_hyperg/compile_cxx17.cc: New.
1067 * testsuite/tr1/5_numerical_facilities/special_functions/
1068 17_hyperg/compile_cxx17.cc: New.
1069
1070 2018-06-15 Jonathan Wakely <jwakely (a] redhat.com>
1071
1072 PR libstdc++/86169
1073 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
1074 (basic_string::data()): Unshare string.
1075 * testsuite/21_strings/basic_string/operations/data/char/86169.cc:
1076 New.
1077
1078 2018-06-15 Jonathan Wakely <jwakely (a] redhat.com>
1079
1080 * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
1081 define for C++17 and above.
1082
1083 2018-06-06 Jonathan Wakely <jwakely (a] redhat.com>
1084
1085 PR libstdc++/86008
1086 * include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
1087 Define new partial specialization.
1088 * include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
1089 new overload.
1090 (operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
1091 value not reference for iteration.
1092 * testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
1093 comment.
1094 * testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
1095 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
1096 comment.
1097
1098 2018-06-05 Jonathan Wakely <jwakely (a] redhat.com>
1099
1100 * include/std/type_traits: Fix comment typo.
1101
1102 2018-06-04 Jonathan Wakely <jwakely (a] redhat.com>
1103
1104 PR libstdc++/85930
1105 * include/bits/shared_ptr_base.h [!__cpp_rtti]: Include <typeinfo>
1106 unconditionally. Remove redundant declaration.
1107 [!__cpp_rtti] (_Sp_make_shared_tag::_S_ti): Align the static variable
1108 correctly.
1109
1110 2018-05-31 Jonathan Wakely <jwakely (a] redhat.com>
1111
1112 PR libstdc++/85951
1113 * include/std/type_traits [_GLIBCXX_USE_C99_STDINT_TR1]: Do not define
1114 uint_least16_t and uint_least32_t.
1115 (__make_unsigned<wchar_t>): Define unconditionally.
1116 (__make_unsigned<char16_t>, __make_unsigned<char32_t>): Define.
1117 (__make_signed<wchar_t>, __make_signed<char16_t>)
1118 (__make_signed<char32_t>)): Define unconditionally.
1119 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: Check
1120 wchar_t, char16_t and char32_t are transformed correctly.
1121 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1122 dg-error lineno.
1123 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: Check
1124 wchar_t, char16_t and char32_t are transformed correctly.
1125 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
1126 dg-error lineno.
1127
1128 2018-05-21 Franois Dumont <fdumont (a] gcc.gnu.org>
1129
1130 * include/debug/map.h
1131 (map(map&&, const_allocator_type&)): Add noexcept qualitication.
1132 * include/debug/multimap.h
1133 (multimap(multimap&&, const_allocator_type&)): Likewise.
1134 * include/debug/set.h
1135 (set(set&&, const_allocator_type&)): Likewise.
1136 * include/debug/multiset.h
1137 (multiset(multiset&&, const_allocator_type&)): Likewise.
1138
1139 2018-05-21 Jonathan Wakely <jwakely (a] redhat.com>
1140
1141 PR libstdc++/85818
1142 * testsuite/experimental/filesystem/path/preferred_separator.cc: Add
1143 dg-require-filesystem-ts.
1144
1145 2018-05-17 Jonathan Wakely <jwakely (a] redhat.com>
1146
1147 PR libstdc++/85818
1148 * src/filesystem/path.cc (path::preferred_separator): Add used
1149 attribute.
1150 * testsuite/experimental/filesystem/path/preferred_separator.cc: New.
1151
1152 PR libstdc++/85812
1153 * libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
1154 * libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
1155 Refactor to separate non-throwing and throwing implementations.
1156 [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
1157 if constructing the object throws.
1158
1159 2018-05-15 Jonathan Wakely <jwakely (a] redhat.com>
1160
1161 PR libstdc++/83891
1162 * include/bits/fs_path.h (path::is_absolute()): Use same definition
1163 for all operating systems.
1164 * include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
1165 * testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
1166 * testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
1167 * testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
1168
1169 * testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
1170 unused <vector> header.
1171 * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
1172 * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
1173 * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
1174 * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
1175 * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
1176 Likewise.
1177 * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
1178 Likewise.
1179 * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
1180 * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
1181 * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
1182 * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
1183 * testsuite/experimental/filesystem/path/decompose/extension.cc:
1184 Likewise.
1185 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
1186 * testsuite/experimental/filesystem/path/query/has_extension.cc:
1187 Likewise.
1188 * testsuite/experimental/filesystem/path/query/has_filename.cc:
1189 Likewise.
1190 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
1191 Likewise.
1192 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1193 Likewise.
1194 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
1195 Likewise.
1196 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
1197 Likewise.
1198 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
1199 Likewise.
1200 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
1201 * testsuite/experimental/filesystem/path/query/is_relative.cc:
1202 Likewise.
1203
1204 PR libstdc++/84159
1205 * include/bits/fs_path.h (path::operator/=, path::append): Construct
1206 temporary path before calling _M_append.
1207 (path::_M_append): Change parameter to path and implement C++17
1208 semantics.
1209 * testsuite/27_io/filesystem/path/append/path.cc: Add helper function
1210 and more examples from the standard.
1211 * testsuite/27_io/filesystem/path/append/source.cc: New.
1212 * testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
1213 * testsuite/27_io/filesystem/path/nonmember/append.cc: New.
1214
1215 2018-05-14 Jonathan Wakely <jwakely (a] redhat.com>
1216
1217 PR libstdc++/67554
1218 * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
1219 (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
1220
1221 PR libstdc++/82966
1222 * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
1223 instead of type.
1224 * testsuite/23_containers/set/modifiers/node_swap.cc: New.
1225
1226 2018-05-10 Jonathan Wakely <jwakely (a] redhat.com>
1227
1228 * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
1229 * doc/xml/manual/debug_mode.xml: Add array and forward_list to list
1230 of C++11 containers with Debug Mode support.
1231 * doc/xml/manual/using.xml: Document that the C++17 Filesystem
1232 implementation also needs -lstdc++fs. Document Dual ABI for
1233 ios_base::failure.
1234 * doc/html/*: Regenerate.
1235
1236 2018-05-07 Edward Smith-Rowland <3dw4rd (a] verizon.net>
1237
1238 Backport from mainline
1239 2018-05-07 Edward Smith-Rowland <3dw4rd (a] verizon.net>
1240
1241 Moar PR libstdc++/80506
1242 * include/bits/random.tcc (gamma_distribution::__generate_impl()):
1243 Fix magic number used in loop condition.
1244
1245 2018-05-04 Jonathan Wakely <jwakely (a] redhat.com>
1246
1247 PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
1248 * include/std/optional (_Optional_payload): Add noexcept to default
1249 constructor. Re-indent.
1250 (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
1251 constructor for copying disengaged payloads.
1252 (_Optional_payload<_Tp, true, false, true>): Likewise.
1253 (_Optional_payload<_Tp, true, true, false>): Likewise.
1254 (_Optional_payload<_Tp, true, false, false>): Likewise.
1255 * testsuite/20_util/optional/cons/85642.cc: New.
1256 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
1257
1258 2018-05-03 Jonathan Wakely <jwakely (a] redhat.com>
1259
1260 PR libstdc++/84769
1261 * include/std/variant (visit): Qualify std::get call.
1262
1263 2018-05-03 Jonathan Wakely <jwakely (a] redhat.com>
1264
1265 PR libstdc++/85632 use uintmax_t for arithmetic
1266 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
1267 arithmetic in result type.
1268 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
1269 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
1270 is greater than free space.
1271 * testsuite/experimental/filesystem/operations/space.cc: New.
1272
1273 2018-05-02 Release Manager
1274
1275 * GCC 8.1.0 released.
1276
1277 2018-04-24 H.J. Lu <hongjiu.lu (a] intel.com>
1278
1279 * configure: Regenerated.
1280
1281 2018-04-19 Jakub Jelinek <jakub (a] redhat.com>
1282
1283 * configure: Regenerated.
1284
1285 2018-04-18 Jonathan Wakely <jwakely (a] redhat.com>
1286 Jakub Jelinek <jakub (a] redhat.com>
1287
1288 PR libstdc++/85442
1289 * src/c++11/Makefile.am: Don't generate debuginfo again for
1290 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
1291 * src/c++11/Makefile.in: Regenerate.
1292
1293 2018-04-18 Jonathan Wakely <jwakely (a] redhat.com>
1294
1295 PR libstdc++/84442
1296 * testsuite/30_threads/thread/cons/terminate.cc
1297 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
1298
1299 2018-04-18 David Malcolm <dmalcolm (a] redhat.com>
1300
1301 PR jit/85384
1302 * configure: Regenerate.
1303
1304 2018-04-16 Jonathan Wakely <jwakely (a] redhat.com>
1305
1306 * testsuite/experimental/filesystem/file_status/1.cc: Add
1307 -DUSE_FILESYSTEM_TS to dg-options.
1308 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1309 Likewise.
1310 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
1311 * testsuite/experimental/filesystem/iterators/
1312 recursive_directory_iterator.cc: Likewise.
1313 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
1314 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
1315 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
1316 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
1317 * testsuite/experimental/filesystem/operations/create_directories.cc:
1318 Likewise.
1319 * testsuite/experimental/filesystem/operations/create_directory.cc:
1320 Likewise.
1321 * testsuite/experimental/filesystem/operations/create_symlink.cc:
1322 Likewise.
1323 * testsuite/experimental/filesystem/operations/current_path.cc:
1324 Likewise.
1325 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
1326 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
1327 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
1328 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
1329 * testsuite/experimental/filesystem/operations/last_write_time.cc:
1330 Likewise.
1331 * testsuite/experimental/filesystem/operations/permissions.cc:
1332 Likewise.
1333 * testsuite/experimental/filesystem/operations/read_symlink.cc:
1334 Likewise.
1335 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
1336 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
1337 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
1338 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1339 Likewise.
1340 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
1341 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
1342 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
1343 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
1344 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
1345 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
1346 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
1347 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
1348 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
1349 * testsuite/experimental/filesystem/path/construct/default.cc:
1350 Likewise.
1351 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
1352 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
1353 * testsuite/experimental/filesystem/path/construct/string_view.cc:
1354 Likewise.
1355 * testsuite/experimental/filesystem/path/decompose/extension.cc:
1356 Likewise.
1357 * testsuite/experimental/filesystem/path/decompose/filename.cc:
1358 Likewise.
1359 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
1360 Likewise.
1361 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
1362 Likewise.
1363 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
1364 Likewise.
1365 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
1366 Likewise.
1367 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
1368 Likewise.
1369 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
1370 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
1371 Likewise.
1372 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
1373 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
1374 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
1375 Likewise.
1376 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
1377 Likewise.
1378 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
1379 Likewise.
1380 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
1381 Likewise.
1382 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
1383 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
1384 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
1385 Likewise.
1386 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
1387 * testsuite/experimental/filesystem/path/query/has_extension.cc:
1388 Likewise.
1389 * testsuite/experimental/filesystem/path/query/has_filename.cc:
1390 Likewise.
1391 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
1392 Likewise.
1393 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1394 Likewise.
1395 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
1396 Likewise.
1397 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
1398 Likewise.
1399 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
1400 Likewise.
1401 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
1402 * testsuite/experimental/filesystem/path/query/is_relative.cc:
1403 Likewise.
1404
1405 2018-04-13 Jonathan Wakely <jwakely (a] redhat.com>
1406
1407 * src/c++11/Makefile.am: Fix sed command.
1408 * src/c++11/Makefile.in: Regenerate.
1409
1410 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
1411 handle mangled names starting with double underscores on darwin.
1412 * src/c++11/Makefile.in: Regenerate.
1413
1414 2018-04-12 Jonathan Wakely <jwakely (a] redhat.com>
1415
1416 * src/c++11/Makefile.am: Fix comment.
1417 * src/c++11/Makefile.in: Regenerate.
1418 * src/c++11/cxx11-ios_failure.cc: Fix comment.
1419 * src/c++98/ios_failure.cc: Likewise.
1420
1421 * src/c++11/ios.cc: Remove redundant macro definition.
1422
1423 2018-04-11 Jonathan Wakely <jwakely (a] redhat.com>
1424
1425 * doc/xml/manual/abi.xml: Document header locations in recent
1426 releases.
1427 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
1428 * doc/xml/manual/spine.xml: Update copyright years.
1429 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
1430 undefined behaviour.
1431 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
1432 * doc/html/*: Regenerate.
1433
1434 2018-04-10 Jonathan Wakely <jwakely (a] redhat.com>
1435
1436 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
1437 * doc/xml/manual/backwards_compatibility.xml: Likewise.
1438 * doc/xml/manual/containers.xml: Likewise.
1439 * doc/xml/manual/debug_mode.xml: Likewise.
1440 * doc/xml/manual/extensions.xml: Likewise.
1441 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
1442 * doc/xml/manual/using.xml: Likewise.
1443 * doc/xml/manual/utilities.xml: Likewise.
1444
1445 PR libstdc++/85222
1446 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
1447 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
1448 * src/c++11/Makefile.in: Regenerate.
1449 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
1450 New types.
1451 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
1452 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
1453 * src/c++98/ios_failure.cc (__construct_ios_failure)
1454 (__destroy_ios_failure, is_ios_failure_handler): New functions.
1455 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
1456 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
1457 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
1458 handler types, to always catch std::ios_base::failure.
1459 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1460 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1461 exceptions_failbit.cc: Likewise.
1462 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1463 exceptions_failbit.cc: Likewise.
1464 * testsuite/27_io/basic_istream/extractors_other/char/
1465 exceptions_null.cc: Likewise.
1466 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1467 exceptions_null.cc: Likewise.
1468 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
1469 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
1470 * testsuite/27_io/basic_ostream/inserters_other/char/
1471 exceptions_null.cc: Likewise.
1472 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1473 exceptions_null.cc: Likewise.
1474 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1475
1476 2018-04-05 Jonathan Wakely <jwakely (a] redhat.com>
1477
1478 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
1479 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
1480
1481 2018-04-03 Jonathan Wakely <jwakely (a] redhat.com>
1482
1483 PR libstdc++/85183
1484 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
1485 value categories.
1486 * testsuite/20_util/variant/85183.cc: New.
1487
1488 2018-03-26 Jonathan Wakely <jwakely (a] redhat.com>
1489
1490 * include/std/variant (__get): Qualify calls to avoid ADL.
1491 (__select_index): Adjust whitespace.
1492 (variant): Add using-declaration to workaround Clang bug.
1493
1494 2018-03-22 Jonathan Wakely <jwakely (a] redhat.com>
1495
1496 PR libstdc++/85040
1497 * include/bits/stl_function.h (greater::__not_overloaded)
1498 (less::__not_overloaded, greater_equal::__not_overloaded)
1499 (less_equal::__not_overloaded): Fix ambiguous specializations.
1500 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
1501 tests for type with overloaded operators.
1502
1503 2018-03-22 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
1504
1505 PR libstdc++/77691
1506 * testsuite/experimental/memory_resource/resource_adaptor.cc:
1507 xfail execution on 32-bit Solaris/x86.
1508
1509 2018-03-21 Jonathan Wakely <jwakely (a] redhat.com>
1510
1511 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
1512 VERIFY instead of assert.
1513 * testsuite/20_util/hash/84998.cc: New test.
1514 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
1515 copy of test adjusted for Debug Mode.
1516 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
1517 test in Debug Mode.
1518
1519 2018-03-20 Franois Dumont <fdumont (a] gcc.gnu.org>
1520
1521 PR libstdc++/84998
1522 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
1523 * include/std/bitset: Likewise.
1524 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
1525 declaration.
1526 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
1527 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
1528 * include/bits/stl_set.h (std::set<>): Likewise.
1529 * include/bits/unordered_map.h (std::unordered_map<>): Fix
1530 _Hash_merge_helper friend declaration.
1531 (std::unordered_multimap<>): Likewise.
1532 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
1533 (std::unordered_multiset<>): Likewise.
1534
1535 2018-03-19 Gerald Pfeifer <gerald (a] pfeifer.com>
1536
1537 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
1538 trailing slash for domain level link.
1539 * doc/xml/faq.xml: Ditto.
1540 * doc/xml/manual/appendix_free.xml (software): Ditto.
1541 * doc/xml/manual/intro.xml: Ditto.
1542 * doc/xml/manual/spine.xml: Ditto.
1543 * doc/xml/spine.xml: Ditto.
1544
1545 2018-03-19 Gerald Pfeifer <gerald (a] pfeifer.com>
1546
1547 * doc/xml/manual/documentation_hacking.xml: Adjust link to
1548 docbook.org.
1549
1550 2018-03-17 Jonathan Wakely <jwakely (a] redhat.com>
1551
1552 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
1553 to compile as C++98.
1554
1555 2018-03-14 Jonathan Wakely <jwakely (a] redhat.com>
1556
1557 PR libstdc++/78420
1558 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
1559 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
1560 to ensure total order for pointers.
1561 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
1562 Add operator() overloads for pointer arguments and make generic
1563 overloads dispatch to new _S_cmp functions when comparisons would
1564 use built-in operators for pointers.
1565 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
1566
1567 2018-03-12 Jonathan Wakely <jwakely (a] redhat.com>
1568
1569 PR libstdc++/84773
1570 PR libstdc++/83662
1571 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
1572 * configure: Regenerate.
1573 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
1574 (aligned_alloc): Add using-declaration.
1575 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
1576
1577 2018-03-09 Franois Dumont <fdumont (a] gcc.gnu.org>
1578
1579 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
1580 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
1581 registration.
1582
1583 2018-03-09 Jonathan Wakely <jwakely (a] redhat.com>
1584
1585 PR libstdc++/84769
1586 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
1587 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
1588
1589 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
1590 src/filesystem/std-ops.cc (create_dir): Likewise.
1591
1592 2018-03-08 Franois Dumont <fdumont (a] gcc.gnu.org>
1593
1594 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
1595 (StdListIteratorPrinter): Inherit from latter.
1596 (StdFwdListIteratorPrinter): New, inherit from latter.
1597 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
1598 when iterator has no associated container.
1599 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
1600 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
1601 registrations.
1602 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
1603 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
1604
1605 2018-03-06 Ville Voutilainen <ville.voutilainen (a] gmail.com>
1606
1607 PR libstdc++/84601
1608 * include/std/optional (_Optional_payload): Split into multiple
1609 specializations that can handle different cases of trivial or
1610 non-trivial assignment operators.
1611 * testsuite/20_util/optional/84601.cc: New.
1612 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
1613
1614 2018-03-02 Jonathan Wakely <jwakely (a] redhat.com>
1615
1616 PR libstdc++/84671
1617 * include/bits/parse_numbers.h (_Number_help): Add partial
1618 specialization to handle digit separators. Adjust partial
1619 specialization for recursion temrination to require _Pow == 1ULL.
1620 * testsuite/20_util/duration/literals/84671.cc: New
1621
1622 2018-02-27 Ville Voutilainen <ville.voutilainen (a] gmail.com>
1623
1624 Implement the missing bits of LWG 2769
1625 * include/std/any (any_cast(const any&)): Add static_assert.
1626 (any_cast(any&)): Likewise.
1627 (any_cast(any&&)): Likewise, and remove the handling
1628 for copyable-but-not-movable type.
1629 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
1630 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
1631 add new tests.
1632
1633 2018-02-23 Jonathan Wakely <jwakely (a] redhat.com>
1634
1635 PR libstdc++/84532
1636 * include/std/thread (thread::__make_invoker): Construct tuple
1637 directly instead of using make_tuple.
1638 * testsuite/30_threads/async/84532.cc: New.
1639 * testsuite/30_threads/thread/84532.cc: New.
1640
1641 2018-02-20 Franois Dumont <fdumont (a] gcc.gnu.org>
1642
1643 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
1644 (template<> __aligned_buffer): Define as __aligned_membuf alias.
1645
1646 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
1647
1648 PR target/84148
1649 * configure: Regenerate.
1650
1651 2018-02-15 Jonathan Wakely <jwakely (a] redhat.com>
1652
1653 PR libstdc++/81797
1654 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
1655 * configure: Regenerate.
1656 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
1657 defined.
1658 * include/Makefile.in: Regenerate.
1659
1660 2018-01-29 Jonathan Wakely <jwakely (a] redhat.com>
1661
1662 PR libstdc++/83833
1663 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
1664 Add -ffloat-store to options for m68k and ia32.
1665
1666 * doc/xml/faq.xml: Update copyright years.
1667 * doc/html/*: Regenerate.
1668
1669 PR libstdc++/83658
1670 * include/std/any (any::__do_emplace): Only set _M_manager after
1671 constructing the contained object.
1672 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
1673 * testsuite/20_util/any/modifiers/83658.cc: New test.
1674
1675 2018-01-25 Jonathan Wakely <jwakely (a] redhat.com>
1676
1677 PR libstdc++/81076
1678 * include/c_global/cstddef (__byte_operand): Define primary template.
1679 * testsuite/18_support/byte/81076.cc: New test.
1680
1681 2018-01-19 Christophe Lyon <christophe.lyon (a] linaro.org>
1682
1683 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
1684 dg-options and dg-add-options order.
1685 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
1686 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
1687 Likewise.
1688 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
1689 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
1690 Likewise.
1691 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
1692 Likewise.
1693 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
1694 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
1695 Likewise.
1696 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
1697 Likewise.
1698 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
1699 Likewise.
1700 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
1701 Likewise.
1702 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
1703 Likewise.
1704 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
1705 Likewise.
1706 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
1707 Likewise.
1708 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
1709 Likewise.
1710 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1711 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1712 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1713 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
1714 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1715 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
1716 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
1717 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
1718 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
1719 Likewise.
1720 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
1721 Likewise.
1722 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
1723 Likewise.
1724 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
1725 Likewise.
1726
1727 2018-01-18 Uros Bizjak <ubizjak (a] gmail.com>
1728
1729 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
1730 include linux/types.h when checking linux/random.h header.
1731 * config.h.in: Regenerate.
1732 * configure: Ditto.
1733 * src/c++11/random.cc: Conditionally include linux/types.h.
1734
1735 2018-01-16 Eric Botcazou <ebotcazou (a] adacore.com>
1736
1737 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
1738
1739 2018-01-16 Jonathan Wakely <jwakely (a] redhat.com>
1740
1741 PR libstdc++/83834
1742 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
1743 pattern with exact match for std::cerr.
1744
1745 2018-01-15 Jonathan Wakely <jwakely (a] redhat.com>
1746
1747 PR libstdc++/83833
1748 * include/bits/random.h (chi_squared_distribution::param): Update
1749 gamma distribution parameter.
1750 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
1751 test.
1752
1753 PR libstdc++/83830
1754 * include/std/type_traits (has_unique_object_representations_v): Add
1755 variable template.
1756 * testsuite/20_util/has_unique_object_representations/value.cc: Check
1757 variable template.
1758
1759 2018-01-15 Ville Voutilainen <ville.voutilainen (a] gmail.com>
1760
1761 Make optional conditionally
1762 trivially_{copy,move}_{constructible,assignable}
1763 * include/std/optional (_Optional_payload): Fix the comment in
1764 the class head and turn into a primary and one specialization.
1765 (_Optional_payload::_M_engaged): Strike the NSDMI.
1766 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
1767 New.
1768 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
1769 Likewise.
1770 (_Optional_payload<_Tp, false>::_M_get): Likewise.
1771 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
1772 (_Optional_base_impl): Likewise.
1773 (_Optional_base): Turn into a primary and three specializations.
1774 (optional(nullopt)): Change the base init.
1775 * testsuite/20_util/optional/assignment/8.cc: New.
1776 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
1777 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
1778
1779 2018-01-15 Jonathan Wakely <jwakely (a] redhat.com>
1780
1781 PR libstdc++/80276
1782 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
1783 (get_template_arg_list): New.
1784 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
1785 instead.
1786 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
1787 of strings and regular expressions.
1788 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
1789 (FilteringTypePrinter): Add docstring. Match using startswith. Use
1790 strip_inline_namespaces instead of strip_versioned_namespace.
1791 (add_one_type_printer): Prepend namespace to match argument.
1792 (register_type_printers): Add type printers for char16_t and char32_t
1793 string types and for types using cxx11 ABI. Update calls to
1794 add_one_template_type_printer to provide default argument dicts.
1795 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
1796 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
1797 basic_string<unsigned char> and basic_string<signed char>.
1798 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
1799 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
1800
1801 2018-01-14 Andreas Schwab <schwab (a] linux-m68k.org>
1802
1803 PR libstdc++/81092
1804 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1805
1806 2018-01-13 Tim Shen <timshen (a] google.com>
1807
1808 PR libstdc++/83601
1809 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
1810 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
1811 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
1812
1813 2018-01-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
1814
1815 PR libstdc++/64054
1816 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
1817 Remove dg-xfail-run-if.
1818
1819 2018-01-10 Franois Dumont <fdumont (a] gcc.gnu.org>
1820
1821 * include/bits/forward_list.h
1822 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
1823 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
1824 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
1825 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
1826 (_Fwd_list_impl()): Add noexcept qualification.
1827 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
1828 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
1829 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
1830 (_Fwd_list_base()): Default.
1831 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
1832 (_Fwd_list_base(_Fwd_list_base&&)): Default.
1833 (forward_list<>()): Default.
1834 (forward_list<>(forward_list&&)): Default.
1835 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
1836 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
1837 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
1838 * include/bits/forward_list.tcc
1839 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
1840 _M_impl._M_head move assignment.
1841 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
1842 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
1843
1844 2018-01-09 Jonathan Wakely <jwakely (a] redhat.com>
1845
1846 PR libstdc++/80276
1847 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
1848 (UniquePointerPrinter): Print correct template argument, not type of
1849 the pointer.
1850 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
1851 a type.
1852 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
1853 array type.
1854 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
1855 weak_ptr of array types.
1856
1857 2018-01-09 Franois Dumont <fdumont (a] gcc.gnu.org>
1858
1859 PR libstdc++/83709
1860 * include/bits/hashtable_policy.h
1861 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
1862 __first != __last.
1863 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
1864 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
1865 Add false_type parameter.
1866 (_Insert_base::insert): Adapt.
1867 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
1868 Adapt.
1869 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
1870 Add __n_elt parameter, defaulted to 1.
1871 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
1872 policy _M_need_rehash.
1873 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
1874 produce only 1 rehash if necessary.
1875 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
1876 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
1877
1878 2018-01-09 Juraj Oruli <juraj.orsulic (a] fer.hr>
1879 Jonathan Wakely <jwakely (a] redhat.com>
1880
1881 PR libstdc++/59253 (partial)
1882 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
1883 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
1884 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
1885 children.
1886 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
1887 of unique_ptr printer.
1888 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
1889 output of shared_ptr printer.
1890
1891 2018-01-05 Jonathan Wakely <jwakely (a] redhat.com>
1892
1893 PR libstdc++/83626
1894 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
1895 unnecessary symlink_status call.
1896 (remove_all(const path&, error_code&)): Use filesystem::remove.
1897 * src/filesystem/std-ops.cc: Likewise.
1898
1899 PR libstdc++/83279
1900 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
1901 sendfile.
1902
1903 PR libstdc++/83626
1904 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
1905 report an error for ENOENT.
1906 (remove_all(const path&)): Fix type of result variable.
1907 (remove_all(const path&, error_code&)): Use non-throwing increment
1908 for directory iterator. Call POSIX remove directly to avoid redundant
1909 calls to symlink_status. Do not report errors for ENOENT.
1910 * src/filesystem/std-ops.cc: Likewise.
1911 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
1912 overload.
1913 * testsuite/experimental/filesystem/operations/remove_all.cc:
1914 Likewise.
1915
1916 2018-01-04 Jonathan Wakely <jwakely (a] redhat.com>
1917
1918 PR libstdc++/83626
1919 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
1920 redundant call to ec.clear().
1921 (remove_all(const path&, error_code&))): Do not return an error for
1922 non-existent paths.
1923 * src/filesystem/std-ops.cc: Likewise.
1924 * testsuite/27_io/filesystem/operations/remove.cc: New test.
1925 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
1926 results for non-existent paths.
1927 * testsuite/experimental/filesystem/operations/remove.cc: New test.
1928 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
1929 expected results for non-existent paths.
1930
1931 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
1932 check status_known once.
1933 * include/experimental/bits/fs_ops.h: Likewise.
1934
1935 PR libstdc++/83607
1936 * include/std/functional (__is_byte_like): New trait.
1937 (__is_std_equal_to): Remove.
1938 (__boyer_moore_base_t): Use __is_byte_like instead of
1939 __is_std_equal_to.
1940 * include/experimental/functional (__is_std_equal_to): Remove.
1941 (__boyer_moore_base_t): Use __is_byte_like instead of
1942 __is_std_equal_to.
1943 * testsuite/20_util/function_objects/83607.cc: New test.
1944
1945 2018-01-03 Ville Voutilainen <ville.voutilainen (a] gmail.com>
1946
1947 Protect optional's deduction guide with the feature macro
1948 * include/std/optional: Use the feature macro.
1949
1950 2018-01-03 Jakub Jelinek <jakub (a] redhat.com>
1951
1952 Update copyright years.
1953
1955 Copyright (C) 2018 Free Software Foundation, Inc.
1956
1957 Copying and distribution of this file, with or without modification,
1958 are permitted in any medium without royalty provided the copyright
1959 notice and this notice are preserved.
1960