formatter.h (_Error_formatter::_M_function): New.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2018-05-08 François Dumont <fdumont@gcc.gnu.org>
2
3 * include/debug/formatter.h (_Error_formatter::_M_function): New.
4 (_Error_formatter(const char*, unsigned int)): Adapt.
5 (_Error_formatter::_M_at): Rename in...
6 (_Error_formatter::_S_at): ...that and adapt.
7 * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): New.
8 (_GLIBCXX_DEBUG_VERIFY_AT, _GLIBCXX_DEBUG_VERIFY): Adapt.
9 * src/c++11/debug.cc (_Error_formatter::_M_error): Render _M_function
10 when available.
11
12 2018-05-08 Jonathan Wakely <jwakely@redhat.com>
13
14 * include/bits/regex_automaton.h (_NFA_base::_M_paren_stack, _NFA):
15 Use normal std::vector even in Debug Mode.
16
17 PR libstdc++/85672
18 * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
19 to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
20 * include/Makefile.in: Regenerate.
21 * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
22 within conditional block.
23
24 2018-05-07 Jonathan Wakely <jwakely@redhat.com>
25
26 * doc/xml/manual/using.xml (table.cmd_options): Document that the
27 C++17 Filesystem implementation also needs -lstdc++fs.
28
29 PR libstdc++/85671
30 * include/bits/fs_path.h (operator/): Permit copy elision.
31 * include/experimental/bits/fs_path.h (operator/): Likewise.
32
33 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
34
35 Moar PR libstdc++/80506
36 * include/bits/random.tcc (gamma_distribution::__generate_impl()):
37 Fix magic number used in loop condition.
38
39 2018-05-04 Jonathan Wakely <jwakely@redhat.com>
40
41 PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
42 * include/std/optional (_Optional_payload): Add noexcept to default
43 constructor. Re-indent.
44 (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
45 constructor for copying disengaged payloads.
46 (_Optional_payload<_Tp, true, false, true>): Likewise.
47 (_Optional_payload<_Tp, true, true, false>): Likewise.
48 (_Optional_payload<_Tp, true, false, false>): Likewise.
49 * testsuite/20_util/optional/cons/85642.cc: New.
50 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
51
52 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
53
54 PR libstdc++/82644
55 * include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
56 inline definitions instead of using-declarations.
57 [__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
58 * testsuite/tr1/5_numerical_facilities/special_functions/
59 07_conf_hyperg/compile_cxx17.cc: New.
60 * testsuite/tr1/5_numerical_facilities/special_functions/
61 17_hyperg/compile_cxx17.cc: New.
62
63 PR libstdc++/84769
64 * include/std/variant (visit): Qualify std::get call.
65
66 PR libstdc++/85632 use uintmax_t for arithmetic
67 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
68 arithmetic in result type.
69 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
70 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
71 is greater than free space.
72 * testsuite/experimental/filesystem/operations/space.cc: New.
73
74 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
75 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
76 New.
77 * testsuite/20_util/remove_cvref/value.cc: New.
78 * testsuite/20_util/remove_cvref/value_ext.cc: New.
79
80 PR libstdc++/84087 LWG DR 2268 basic_string default arguments
81 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
82 (append(const basic_string&, size_type, size_type)
83 (assign(const basic_string&, size_type, size_type)
84 (insert(size_type, const basic_string&, size_type, size_type)
85 (replace(size_type,size_type,const basic_string&,size_type,size_type)
86 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
87 Add default arguments (LWG 2268).
88 [_GLIBCXX_USE_CXX11_ABI=0]
89 (append(const basic_string&, size_type, size_type)
90 (assign(const basic_string&, size_type, size_type)
91 (insert(size_type, const basic_string&, size_type, size_type)
92 (replace(size_type,size_type,const basic_string&,size_type,size_type)
93 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
94 Likewise.
95 * testsuite/21_strings/basic_string/dr2268.cc: New test.
96
97 PR libstdc++/84535
98 * include/std/thread (thread::__not_same): New SFINAE helper.
99 (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
100 first argument is not a std::thread. Add static assertion to check
101 INVOKE expression is valid.
102 (thread::thread(thread&), thread::thread(const thread&&)): Remove.
103 (thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
104 __invoke_result for return types and remove exception specifications.
105 * testsuite/30_threads/thread/cons/84535.cc: New.
106
107 * include/std/future (__async_result_of): Use __invoke_result instead
108 of result_of.
109
110 * include/std/any (any_cast): Use __remove_cvref_t.
111 * include/std/tuple (__make_tuple): Likewise.
112 * include/std/type_traits (__remove_cvref_t): Define.
113 (__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
114 [__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
115 * include/std/variant (__erased_hash): Use __remove_cvref_t.
116
117 2018-05-02 François Dumont <fdumont@gcc.gnu.org>
118
119 * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
120 ensure overloaded comma not used.
121 * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
122 * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
123 * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
124 * testsuite/23_containers/deque/modifiers/assign/1.cc: New.
125 * testsuite/23_containers/list/modifiers/assign/1.cc: New.
126 * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
127 * testsuite/23_containers/vector/modifiers/assign/1.cc: New.
128
129 2018-05-02 Jonathan Wakely <jwakely@redhat.com>
130
131 PR libstdc++/68197
132 * include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
133 indices to unsigned.
134 * src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
135 as failure. Refactor error handling.
136 * testsuite/27_io/ios_base/storage/68197.cc: New.
137
138 PR libstdc++/57997
139 PR libstdc++/83860
140 * include/bits/gslice_array.h (gslice_array): Define default
141 constructor as deleted, as per C++11 standard.
142 * include/bits/mask_array.h (mask_array): Likewise.
143 * include/bits/slice_array.h (slice_array): Likewise.
144 * include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
145 to namespace __detail.
146 (_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
147 members.
148 * include/bits/valarray_before.h (_ValArrayRef): New helper for type
149 of data members in closure objects.
150 (_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
151 (_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
152 __detail.
153 (_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
154 (_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
155 (_SBase::_M_expr): Use _ValArrayRef for type of data members.
156 * include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
157 (_ValFunClos, _RefFunClos): Move to namespace __detail and add
158 using-declarations to namespace std.
159 * testsuite/26_numerics/valarray/83860.cc: New.
160
161 * testsuite/backward/strstream_move.cc: Remove duplicate function
162 call.
163
164 PR libstdc++/69608
165 * include/backward/strstream (strstreambuf): Define move constructor
166 and move assignment operator.
167 (istrstream, ostrstream, strstream): Likewise.
168 * testsuite/backward/strstream_move.cc: New.
169
170 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
171
172 PR libstdc++/84654
173 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
174 * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
175 * configure: Regenerate.
176 * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
177 based on ENABLE_FLOAT128.
178 * include/Makefile.in: Regenerate.
179 * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
180 [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
181 _GLIBCXX_USE_FLOAT128.
182
183 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
184
185 * configure: Regenerated.
186
187 2018-04-19 Jakub Jelinek <jakub@redhat.com>
188
189 * configure: Regenerated.
190
191 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
192 Jakub Jelinek <jakub@redhat.com>
193
194 PR libstdc++/85442
195 * src/c++11/Makefile.am: Don't generate debuginfo again for
196 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
197 * src/c++11/Makefile.in: Regenerate.
198
199 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
200
201 PR libstdc++/84442
202 * testsuite/30_threads/thread/cons/terminate.cc
203 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
204
205 2018-04-18 David Malcolm <dmalcolm@redhat.com>
206
207 PR jit/85384
208 * configure: Regenerate.
209
210 2018-04-16 Jonathan Wakely <jwakely@redhat.com>
211
212 * testsuite/experimental/filesystem/file_status/1.cc: Add
213 -DUSE_FILESYSTEM_TS to dg-options.
214 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
215 Likewise.
216 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
217 * testsuite/experimental/filesystem/iterators/
218 recursive_directory_iterator.cc: Likewise.
219 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
220 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
221 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
222 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
223 * testsuite/experimental/filesystem/operations/create_directories.cc:
224 Likewise.
225 * testsuite/experimental/filesystem/operations/create_directory.cc:
226 Likewise.
227 * testsuite/experimental/filesystem/operations/create_symlink.cc:
228 Likewise.
229 * testsuite/experimental/filesystem/operations/current_path.cc:
230 Likewise.
231 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
232 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
233 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
234 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
235 * testsuite/experimental/filesystem/operations/last_write_time.cc:
236 Likewise.
237 * testsuite/experimental/filesystem/operations/permissions.cc:
238 Likewise.
239 * testsuite/experimental/filesystem/operations/read_symlink.cc:
240 Likewise.
241 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
242 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
243 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
244 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
245 Likewise.
246 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
247 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
248 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
249 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
250 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
251 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
252 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
253 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
254 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
255 * testsuite/experimental/filesystem/path/construct/default.cc:
256 Likewise.
257 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
258 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
259 * testsuite/experimental/filesystem/path/construct/string_view.cc:
260 Likewise.
261 * testsuite/experimental/filesystem/path/decompose/extension.cc:
262 Likewise.
263 * testsuite/experimental/filesystem/path/decompose/filename.cc:
264 Likewise.
265 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
266 Likewise.
267 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
268 Likewise.
269 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
270 Likewise.
271 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
272 Likewise.
273 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
274 Likewise.
275 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
276 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
277 Likewise.
278 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
279 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
280 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
281 Likewise.
282 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
283 Likewise.
284 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
285 Likewise.
286 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
287 Likewise.
288 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
289 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
290 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
291 Likewise.
292 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
293 * testsuite/experimental/filesystem/path/query/has_extension.cc:
294 Likewise.
295 * testsuite/experimental/filesystem/path/query/has_filename.cc:
296 Likewise.
297 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
298 Likewise.
299 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
300 Likewise.
301 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
302 Likewise.
303 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
304 Likewise.
305 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
306 Likewise.
307 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
308 * testsuite/experimental/filesystem/path/query/is_relative.cc:
309 Likewise.
310
311 2018-04-13 Jonathan Wakely <jwakely@redhat.com>
312
313 * src/c++11/Makefile.am: Fix sed command.
314 * src/c++11/Makefile.in: Regenerate.
315
316 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
317 handle mangled names starting with double underscores on darwin.
318 * src/c++11/Makefile.in: Regenerate.
319
320 2018-04-12 Jonathan Wakely <jwakely@redhat.com>
321
322 * src/c++11/Makefile.am: Fix comment.
323 * src/c++11/Makefile.in: Regenerate.
324 * src/c++11/cxx11-ios_failure.cc: Fix comment.
325 * src/c++98/ios_failure.cc: Likewise.
326
327 * src/c++11/ios.cc: Remove redundant macro definition.
328
329 2018-04-11 Jonathan Wakely <jwakely@redhat.com>
330
331 * doc/xml/manual/abi.xml: Document header locations in recent
332 releases.
333 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
334 * doc/xml/manual/spine.xml: Update copyright years.
335 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
336 undefined behaviour.
337 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
338 * doc/html/*: Regenerate.
339
340 2018-04-10 Jonathan Wakely <jwakely@redhat.com>
341
342 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
343 * doc/xml/manual/backwards_compatibility.xml: Likewise.
344 * doc/xml/manual/containers.xml: Likewise.
345 * doc/xml/manual/debug_mode.xml: Likewise.
346 * doc/xml/manual/extensions.xml: Likewise.
347 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
348 * doc/xml/manual/using.xml: Likewise.
349 * doc/xml/manual/utilities.xml: Likewise.
350
351 PR libstdc++/85222
352 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
353 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
354 * src/c++11/Makefile.in: Regenerate.
355 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
356 New types.
357 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
358 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
359 * src/c++98/ios_failure.cc (__construct_ios_failure)
360 (__destroy_ios_failure, is_ios_failure_handler): New functions.
361 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
362 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
363 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
364 handler types, to always catch std::ios_base::failure.
365 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
366 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
367 exceptions_failbit.cc: Likewise.
368 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
369 exceptions_failbit.cc: Likewise.
370 * testsuite/27_io/basic_istream/extractors_other/char/
371 exceptions_null.cc: Likewise.
372 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
373 exceptions_null.cc: Likewise.
374 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
375 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
376 * testsuite/27_io/basic_ostream/inserters_other/char/
377 exceptions_null.cc: Likewise.
378 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
379 exceptions_null.cc: Likewise.
380 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
381
382 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
383
384 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
385 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
386
387 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
388
389 PR libstdc++/85183
390 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
391 value categories.
392 * testsuite/20_util/variant/85183.cc: New.
393
394 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
395
396 * include/std/variant (__get): Qualify calls to avoid ADL.
397 (__select_index): Adjust whitespace.
398 (variant): Add using-declaration to workaround Clang bug.
399
400 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
401
402 PR libstdc++/85040
403 * include/bits/stl_function.h (greater::__not_overloaded)
404 (less::__not_overloaded, greater_equal::__not_overloaded)
405 (less_equal::__not_overloaded): Fix ambiguous specializations.
406 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
407 tests for type with overloaded operators.
408
409 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
410
411 PR libstdc++/77691
412 * testsuite/experimental/memory_resource/resource_adaptor.cc:
413 xfail execution on 32-bit Solaris/x86.
414
415 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
416
417 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
418 VERIFY instead of assert.
419 * testsuite/20_util/hash/84998.cc: New test.
420 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
421 copy of test adjusted for Debug Mode.
422 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
423 test in Debug Mode.
424
425 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
426
427 PR libstdc++/84998
428 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
429 * include/std/bitset: Likewise.
430 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
431 declaration.
432 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
433 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
434 * include/bits/stl_set.h (std::set<>): Likewise.
435 * include/bits/unordered_map.h (std::unordered_map<>): Fix
436 _Hash_merge_helper friend declaration.
437 (std::unordered_multimap<>): Likewise.
438 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
439 (std::unordered_multiset<>): Likewise.
440
441 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
442
443 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
444 trailing slash for domain level link.
445 * doc/xml/faq.xml: Ditto.
446 * doc/xml/manual/appendix_free.xml (software): Ditto.
447 * doc/xml/manual/intro.xml: Ditto.
448 * doc/xml/manual/spine.xml: Ditto.
449 * doc/xml/spine.xml: Ditto.
450
451 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
452
453 * doc/xml/manual/documentation_hacking.xml: Adjust link to
454 docbook.org.
455
456 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
457
458 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
459 to compile as C++98.
460
461 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
462
463 PR libstdc++/78420
464 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
465 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
466 to ensure total order for pointers.
467 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
468 Add operator() overloads for pointer arguments and make generic
469 overloads dispatch to new _S_cmp functions when comparisons would
470 use built-in operators for pointers.
471 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
472
473 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
474
475 PR libstdc++/84773
476 PR libstdc++/83662
477 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
478 * configure: Regenerate.
479 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
480 (aligned_alloc): Add using-declaration.
481 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
482
483 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
484
485 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
486 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
487 registration.
488
489 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
490
491 PR libstdc++/84769
492 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
493 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
494
495 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
496 src/filesystem/std-ops.cc (create_dir): Likewise.
497
498 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
499
500 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
501 (StdListIteratorPrinter): Inherit from latter.
502 (StdFwdListIteratorPrinter): New, inherit from latter.
503 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
504 when iterator has no associated container.
505 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
506 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
507 registrations.
508 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
509 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
510
511 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
512
513 PR libstdc++/84601
514 * include/std/optional (_Optional_payload): Split into multiple
515 specializations that can handle different cases of trivial or
516 non-trivial assignment operators.
517 * testsuite/20_util/optional/84601.cc: New.
518 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
519
520 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
521
522 PR libstdc++/84671
523 * include/bits/parse_numbers.h (_Number_help): Add partial
524 specialization to handle digit separators. Adjust partial
525 specialization for recursion temrination to require _Pow == 1ULL.
526 * testsuite/20_util/duration/literals/84671.cc: New
527
528 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
529
530 Implement the missing bits of LWG 2769
531 * include/std/any (any_cast(const any&)): Add static_assert.
532 (any_cast(any&)): Likewise.
533 (any_cast(any&&)): Likewise, and remove the handling
534 for copyable-but-not-movable type.
535 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
536 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
537 add new tests.
538
539 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
540
541 PR libstdc++/84532
542 * include/std/thread (thread::__make_invoker): Construct tuple
543 directly instead of using make_tuple.
544 * testsuite/30_threads/async/84532.cc: New.
545 * testsuite/30_threads/thread/84532.cc: New.
546
547 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
548
549 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
550 (template<> __aligned_buffer): Define as __aligned_membuf alias.
551
552 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
553
554 PR target/84148
555 * configure: Regenerate.
556
557 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
558
559 PR libstdc++/81797
560 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
561 * configure: Regenerate.
562 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
563 defined.
564 * include/Makefile.in: Regenerate.
565
566 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
567
568 PR libstdc++/83833
569 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
570 Add -ffloat-store to options for m68k and ia32.
571
572 * doc/xml/faq.xml: Update copyright years.
573 * doc/html/*: Regenerate.
574
575 PR libstdc++/83658
576 * include/std/any (any::__do_emplace): Only set _M_manager after
577 constructing the contained object.
578 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
579 * testsuite/20_util/any/modifiers/83658.cc: New test.
580
581 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
582
583 PR libstdc++/81076
584 * include/c_global/cstddef (__byte_operand): Define primary template.
585 * testsuite/18_support/byte/81076.cc: New test.
586
587 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
588
589 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
590 dg-options and dg-add-options order.
591 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
592 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
593 Likewise.
594 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
595 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
596 Likewise.
597 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
598 Likewise.
599 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
600 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
601 Likewise.
602 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
603 Likewise.
604 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
605 Likewise.
606 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
607 Likewise.
608 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
609 Likewise.
610 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
611 Likewise.
612 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
613 Likewise.
614 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
615 Likewise.
616 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
617 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
618 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
619 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
620 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
621 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
622 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
623 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
624 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
625 Likewise.
626 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
627 Likewise.
628 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
629 Likewise.
630 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
631 Likewise.
632
633 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
634
635 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
636 include linux/types.h when checking linux/random.h header.
637 * config.h.in: Regenerate.
638 * configure: Ditto.
639 * src/c++11/random.cc: Conditionally include linux/types.h.
640
641 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
642
643 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
644
645 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
646
647 PR libstdc++/83834
648 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
649 pattern with exact match for std::cerr.
650
651 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
652
653 PR libstdc++/83833
654 * include/bits/random.h (chi_squared_distribution::param): Update
655 gamma distribution parameter.
656 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
657 test.
658
659 PR libstdc++/83830
660 * include/std/type_traits (has_unique_object_representations_v): Add
661 variable template.
662 * testsuite/20_util/has_unique_object_representations/value.cc: Check
663 variable template.
664
665 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
666
667 Make optional conditionally
668 trivially_{copy,move}_{constructible,assignable}
669 * include/std/optional (_Optional_payload): Fix the comment in
670 the class head and turn into a primary and one specialization.
671 (_Optional_payload::_M_engaged): Strike the NSDMI.
672 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
673 New.
674 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
675 Likewise.
676 (_Optional_payload<_Tp, false>::_M_get): Likewise.
677 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
678 (_Optional_base_impl): Likewise.
679 (_Optional_base): Turn into a primary and three specializations.
680 (optional(nullopt)): Change the base init.
681 * testsuite/20_util/optional/assignment/8.cc: New.
682 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
683 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
684
685 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
686
687 PR libstdc++/80276
688 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
689 (get_template_arg_list): New.
690 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
691 instead.
692 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
693 of strings and regular expressions.
694 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
695 (FilteringTypePrinter): Add docstring. Match using startswith. Use
696 strip_inline_namespaces instead of strip_versioned_namespace.
697 (add_one_type_printer): Prepend namespace to match argument.
698 (register_type_printers): Add type printers for char16_t and char32_t
699 string types and for types using cxx11 ABI. Update calls to
700 add_one_template_type_printer to provide default argument dicts.
701 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
702 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
703 basic_string<unsigned char> and basic_string<signed char>.
704 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
705 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
706
707 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
708
709 PR libstdc++/81092
710 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
711
712 2018-01-13 Tim Shen <timshen@google.com>
713
714 PR libstdc++/83601
715 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
716 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
717 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
718
719 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
720
721 PR libstdc++/64054
722 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
723 Remove dg-xfail-run-if.
724
725 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
726
727 * include/bits/forward_list.h
728 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
729 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
730 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
731 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
732 (_Fwd_list_impl()): Add noexcept qualification.
733 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
734 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
735 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
736 (_Fwd_list_base()): Default.
737 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
738 (_Fwd_list_base(_Fwd_list_base&&)): Default.
739 (forward_list<>()): Default.
740 (forward_list<>(forward_list&&)): Default.
741 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
742 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
743 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
744 * include/bits/forward_list.tcc
745 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
746 _M_impl._M_head move assignment.
747 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
748 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
749
750 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
751
752 PR libstdc++/80276
753 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
754 (UniquePointerPrinter): Print correct template argument, not type of
755 the pointer.
756 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
757 a type.
758 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
759 array type.
760 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
761 weak_ptr of array types.
762
763 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
764
765 PR libstdc++/83709
766 * include/bits/hashtable_policy.h
767 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
768 __first != __last.
769 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
770 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
771 Add false_type parameter.
772 (_Insert_base::insert): Adapt.
773 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
774 Adapt.
775 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
776 Add __n_elt parameter, defaulted to 1.
777 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
778 policy _M_need_rehash.
779 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
780 produce only 1 rehash if necessary.
781 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
782 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
783
784 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
785 Jonathan Wakely <jwakely@redhat.com>
786
787 PR libstdc++/59253 (partial)
788 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
789 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
790 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
791 children.
792 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
793 of unique_ptr printer.
794 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
795 output of shared_ptr printer.
796
797 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
798
799 PR libstdc++/83626
800 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
801 unnecessary symlink_status call.
802 (remove_all(const path&, error_code&)): Use filesystem::remove.
803 * src/filesystem/std-ops.cc: Likewise.
804
805 PR libstdc++/83279
806 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
807 sendfile.
808
809 PR libstdc++/83626
810 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
811 report an error for ENOENT.
812 (remove_all(const path&)): Fix type of result variable.
813 (remove_all(const path&, error_code&)): Use non-throwing increment
814 for directory iterator. Call POSIX remove directly to avoid redundant
815 calls to symlink_status. Do not report errors for ENOENT.
816 * src/filesystem/std-ops.cc: Likewise.
817 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
818 overload.
819 * testsuite/experimental/filesystem/operations/remove_all.cc:
820 Likewise.
821
822 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
823
824 PR libstdc++/83626
825 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
826 redundant call to ec.clear().
827 (remove_all(const path&, error_code&))): Do not return an error for
828 non-existent paths.
829 * src/filesystem/std-ops.cc: Likewise.
830 * testsuite/27_io/filesystem/operations/remove.cc: New test.
831 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
832 results for non-existent paths.
833 * testsuite/experimental/filesystem/operations/remove.cc: New test.
834 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
835 expected results for non-existent paths.
836
837 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
838 check status_known once.
839 * include/experimental/bits/fs_ops.h: Likewise.
840
841 PR libstdc++/83607
842 * include/std/functional (__is_byte_like): New trait.
843 (__is_std_equal_to): Remove.
844 (__boyer_moore_base_t): Use __is_byte_like instead of
845 __is_std_equal_to.
846 * include/experimental/functional (__is_std_equal_to): Remove.
847 (__boyer_moore_base_t): Use __is_byte_like instead of
848 __is_std_equal_to.
849 * testsuite/20_util/function_objects/83607.cc: New test.
850
851 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
852
853 Protect optional's deduction guide with the feature macro
854 * include/std/optional: Use the feature macro.
855
856 2018-01-03 Jakub Jelinek <jakub@redhat.com>
857
858 Update copyright years.
859 \f
860 Copyright (C) 2018 Free Software Foundation, Inc.
861
862 Copying and distribution of this file, with or without modification,
863 are permitted in any medium without royalty provided the copyright
864 notice and this notice are preserved.