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