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