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