re PR libstdc++/85845 (Many libstdc++ test failures)
[gcc.git] / libstdc++-v3 / ChangeLog
1 2018-05-21 François Dumont <fdumont@gcc.gnu.org>
2
3 PR libstdc++/85845
4 * include/bits/stl_tree.h
5 (_Rb_tree_impl(_Rb_tree_impl&&, _Node_allocator&&)): Fix noexcept
6 qualification.
7
8 2018-05-21 Jonathan Wakely <jwakely@redhat.com>
9
10 * src/filesystem/std-ops.cc (absolute): Report an error for empty
11 paths.
12 (weakly_canonical(const path&)): Do not call canonical on empty path.
13 (weakly_canonical(const path&, error_code&)): Likewise.
14 * testsuite/27_io/filesystem/operations/absolute.cc: Check for errors.
15
16 PR libstdc++/85818
17 * testsuite/experimental/filesystem/path/preferred_separator.cc: Add
18 dg-require-filesystem-ts.
19
20 PR libstdc++/85843
21 * src/c++11/cow-stdexcept.cc (logic_error, runtime_error): Explicitly
22 initialize base class to avoid warnings.
23
24 2018-05-19 Jonathan Wakely <jwakely@redhat.com>
25
26 * src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
27 [__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
28 little_endian element in bitmask.
29 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
30 * testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
31
32 2018-05-18 François Dumont <fdumont@gcc.gnu.org>
33
34 * include/bits/stl_tree.h
35 (_Rb_tree_impl(_Rb_tree_impl&&, _Node_allocator&&)): New.
36 (_Rb_tree(_Rb_tree&&, _Node_allocator&&, true_type)): New, use latter.
37 (_Rb_tree(_Rb_tree&&, _Node_allocator&&, false_type)): New.
38 (_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Adapt, use latters.
39 * include/debug/map.h
40 (map(map&&, const_allocator_type&)): Add noexcept qualitication.
41 * include/debug/multimap.h
42 (multimap(multimap&&, const_allocator_type&)): Likewise.
43 * include/debug/set.h
44 (set(set&&, const_allocator_type&)): Likewise.
45 * include/debug/multiset.h
46 (multiset(multiset&&, const_allocator_type&)): Likewise.
47 * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
48 Add checks.
49 * testsuite/23_containers/map/cons/noexcept_move_construct.cc:
50 Add checks.
51 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
52 Add checks.
53 * testsuite/23_containers/multimap/cons/noexcept_move_construct.cc:
54 Add checks.
55 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
56 Add checks.
57 * testsuite/23_containers/multiset/cons/noexcept_move_construct.cc:
58 Add checks.
59 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
60 Add checks.
61 * testsuite/23_containers/set/cons/noexcept_move_construct.cc:
62 Add checks.
63
64 2018-05-18 Jason Merrill <jason@redhat.com>
65
66 * include/bits/stl_deque.h (_Deque_iterator): Constrain constructor
67 for conversion to const_iterator. Add defaulted copy ops.
68 * libsupc++/new (bad_alloc): Add defaulted copy ops.
69 * libsupc++/exception.h (exception): Add defaulted copy ops.
70 * include/std/system_error (system_error): Add defaulted copy ops.
71 * include/std/stdexcept (domain_error, invalid_argument)
72 (length_error, out_of_range, range_error, overflow_error)
73 (underflow_error): Add defaulted copy ops.
74 * include/bits/stl_iterator.h (reverse_iterator): Add defaulted
75 copy assignment.
76 * include/bits/allocator.h (allocator): Add defaulted copy assignment.
77 * include/ext/throw_allocator.h (condition_base): Add defaulted
78 default and copy ctor and copy assignment.
79
80 2018-05-18 Jonathan Wakely <jwakely@redhat.com>
81
82 PR libstdc++/85098
83 * include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
84 (basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
85 (basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
86 (basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
87 definitions.
88 * include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
89 whitespace.
90 * include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
91 braces around body of do-while.
92 * testsuite/28_regex/basic_regex/85098.cc: New
93
94 2018-05-17 Jonathan Wakely <jwakely@redhat.com>
95
96 PR libstdc++/85818
97 * src/filesystem/path.cc (path::preferred_separator): Add used
98 attribute.
99 * testsuite/experimental/filesystem/path/preferred_separator.cc: New.
100
101 PR libstdc++/85812
102 * libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
103 * libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
104 Refactor to separate non-throwing and throwing implementations.
105 [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
106 if constructing the object throws.
107
108 2018-05-15 Jonathan Wakely <jwakely@redhat.com>
109
110 PR libstdc++/85749
111 * include/bits/random.h (__detail::__is_seed_seq): New SFINAE helper.
112 (linear_congruential_engine, mersenne_twister_engine)
113 (subtract_with_carry_engine, discard_block_engine)
114 (independent_bits_engine, shuffle_order_engine): Use __is_seed_seq to
115 constrain function templates taking seed sequences.
116 * include/bits/random.tcc (linear_congruential_engine::seed(_Sseq&))
117 (mersenne_twister_engine::seed(_Sseq&))
118 (subtract_with_carry_engine::seed(_Sseq&)): Change return types to
119 match declarations.
120 * include/ext/random (simd_fast_mersenne_twister_engine): Use
121 __is_seed_seq to constrain function templates taking seed sequences.
122 * include/ext/random.tcc (simd_fast_mersenne_twister_engine::seed):
123 Change return type to match declaration.
124 * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
125 New.
126 * testsuite/26_numerics/random/independent_bits_engine/cons/
127 seed_seq2.cc: New.
128 * testsuite/26_numerics/random/linear_congruential_engine/cons/
129 seed_seq2.cc: New.
130 * testsuite/26_numerics/random/mersenne_twister_engine/cons/
131 seed_seq2.cc: New.
132 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
133 * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
134 New.
135 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
136 seed_seq2.cc: New.
137 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
138 seed_seq2.cc: New.
139
140 PR libstdc++/83891
141 * include/bits/fs_path.h (path::is_absolute()): Use same definition
142 for all operating systems.
143 * include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
144 * testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
145 * testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
146 * testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
147
148 * testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
149 unused <vector> header.
150 * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
151 * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
152 * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
153 * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
154 * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
155 Likewise.
156 * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
157 Likewise.
158 * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
159 * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
160 * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
161 * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
162 * testsuite/experimental/filesystem/path/decompose/extension.cc:
163 Likewise.
164 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
165 * testsuite/experimental/filesystem/path/query/has_extension.cc:
166 Likewise.
167 * testsuite/experimental/filesystem/path/query/has_filename.cc:
168 Likewise.
169 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
170 Likewise.
171 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
172 Likewise.
173 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
174 Likewise.
175 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
176 Likewise.
177 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
178 Likewise.
179 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
180 * testsuite/experimental/filesystem/path/query/is_relative.cc:
181 Likewise.
182
183 PR libstdc++/84159
184 * include/bits/fs_path.h (path::operator/=, path::append): Construct
185 temporary path before calling _M_append.
186 (path::_M_append): Change parameter to path and implement C++17
187 semantics.
188 * testsuite/27_io/filesystem/path/append/path.cc: Add helper function
189 and more examples from the standard.
190 * testsuite/27_io/filesystem/path/append/source.cc: New.
191 * testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
192 * testsuite/27_io/filesystem/path/nonmember/append.cc: New.
193
194 * include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
195 __invoke to prevent ADL.
196
197 2018-05-14 Jonathan Wakely <jwakely@redhat.com>
198
199 PR libstdc++/81256
200 * include/bits/fstream.tcc (basic_filebuf::close): Do not swallow
201 exceptions from _M_terminate_output().
202 * include/std/fstream (basic_filebuf::~basic_filebuf): Swallow any
203 exceptions from close().
204 * testsuite/27_io/basic_filebuf/close/81256.cc: New.
205
206 * include/bits/valarray_array.h (__valarray_get_memory): Remove.
207 (__valarray_get_storage): Call operator new directly. Remove ignored
208 top-level restrict qualifier and add malloc attribute instead.
209 (_Array<_Tp>::_Array(size_t)): Remove unused constructor.
210
211 PR libstdc++/67554
212 * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
213 (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
214
215 PR libstdc++/82966
216 * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
217 instead of type.
218 * testsuite/23_containers/set/modifiers/node_swap.cc: New.
219
220 2018-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
221
222 PR libstdc++/80165
223 * testsuite/20_util/variant/80165.cc: New.
224
225 2018-05-10 Jonathan Wakely <jwakely@redhat.com>
226
227 * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
228 * doc/xml/manual/debug_mode.xml: Add array and forward_list to list
229 of C++11 containers with Debug Mode support.
230 * doc/xml/manual/using.xml: Document Dual ABI for ios_base::failure.
231 * doc/html/*: Regenerate.
232
233 2018-05-10 Jason Merrill <jason@redhat.com>
234
235 * include/bits/regex_compiler.h (_S_cache_size): Change from
236 function to variable.
237
238 2018-05-10 Edward Smith-Rowland <3dw4rd@verizon.net>
239
240 PR libstdc++/83140 - assoc_legendre returns negated value when m is odd
241 * include/tr1/legendre_function.tcc (__assoc_legendre_p): Add __phase
242 argument defaulted to +1. Doxy comments on same.
243 * testsuite/special_functions/02_assoc_legendre/
244 check_value.cc: Regen.
245 * testsuite/tr1/5_numerical_facilities/special_functions/
246 02_assoc_legendre/check_value.cc: Regen.
247
248 2018-05-10 Jonathan Wakely <jwakely@redhat.com>
249
250 PR libstdc++/85729
251 * include/bits/c++config.h (__replacement_assert): Add linkage
252 specification.
253 * include/bits/std_abs.h: Add comment to closing brace of block.
254 * include/c_global/cstddef: Add linkage specification.
255 * include/c_global/cstring: Likewise.
256 * include/c_global/cwchar: Likewise.
257
258 2018-05-09 François Dumont <fdumont@gcc.gnu.org>
259
260 * include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()):
261 Rename in...
262 (_Safe_iterator<>::_S_constant()): ...that.
263 * include/debug/safe_local_iterator.h
264 (_Safe_local_iterator<>::_M_constant()): Rename in...
265 (_Safe_local_iterator<>::_S_constant()): ...that.
266 * include/debug/formatter.h: Remove bits/cpp_type_traits.h include.
267 (_Iterator_state::__rbegin): New.
268 (_Iterator_state::__rmiddle): New.
269 (_Iterator_state::__rend): New.
270 (_Parameter::_Parameter(const _Safe_iterator<>&, const char*,
271 _Is_iterator)): Use _Safe_iterator<>::_S_constant. Grab normal underlying
272 iterator type.
273 (_Parameter::_Parameter(const _Safe_local_iterator<>&, const char*,
274 _Is_iterator)): Likewise.
275 (_Parameter::_S_reverse_state(_Iterator_state)): New.
276 (_Parameter(__gnu_cxx::__normal_iterator<> const&, const char*,
277 _Is_iterator)): New.
278 (_Parameter(std::reverse_iterator<> const&, const char*,
279 _Is_iterator)): New.
280 (_Parameter(std::reverse_iterator<_Safe_iterator<>> const&,
281 const char*, _Is_iterator)): New.
282 (_Parameter(std::move_iterator<> const&, const char*, _Is_iterator):
283 New.
284 (_Parameter(std::move_iterator<_Safe_iterator<>> const&, const char*,
285 _Is_iterator)): New.
286 * testsuite/24_iterators/move_iterator/debug_neg.cc: New.
287 * testsuite/24_iterators/normal_iterator/debug_neg.cc: New.
288 * testsuite/24_iterators/reverse_iterator/debug_neg.cc: New.
289
290 2018-05-09 Jonathan Wakely <jwakely@redhat.com>
291
292 * include/bits/std_function.h (_Base_manager::_M_get_pointer):
293 Use constexpr if in C++17 mode.
294 (_Base_manager::_M_clone(_Any_data&, const _Any_data&, true_type)):
295 Copy from const object.
296 * testsuite/20_util/function/cons/non_copyconstructible.cc: New.
297
298 2018-05-08 François Dumont <fdumont@gcc.gnu.org>
299
300 * src/c++11/debug.cc [_GLIBCXX_HAVE_EXECINFO_H]: Include execinfo.h.
301 [_GLIBCXX_HAVE_EXECINFO_H](_Error_formatter::_M_error): Render
302 backtrace.
303
304 * include/debug/macros.h (__glibcxx_check_valid_range_at): New.
305 * include/debug/functions.h (__check_valid_range): Use latter.
306 * include/debug/macros.h (__glibcxx_check_valid_constructor_range): New,
307 use latter.
308 * include/debug/deque
309 (deque::deque<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
310 * include/debug/forward_list
311 (forward_list::forward_list<_Iter>(_Iter, _Iter, const _Alloc&)):
312 Likewise.
313 * include/debug/list
314 (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
315 * include/debug/list
316 (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
317 * include/debug/map.h
318 (map::map<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
319 (map::map<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
320 Likewise.
321 * include/debug/multimap.h
322 (multimap::multimap<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
323 (multimap::multimap<_Iter>(_Iter, _Iter, const _Compare&,
324 const _Alloc&)): Likewise.
325 * include/debug/set.h
326 (set::set<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
327 (set::set<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
328 Likewise.
329 * include/debug/multiset.h
330 (multiset::multiset<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
331 (multiset::multiset<_Iter>(_Iter, _Iter, const _Compare&,
332 const _Alloc&)): Likewise.
333 * include/debug/string
334 (basic_string::basic_string<_Iter>(_Iter, _Iter, const _Alloc&)):
335 Likewise.
336 * include/debug/unordered_map
337 (unordered_map::unordered_map<_Iter>(_Iter, _Iter, const _Alloc&)):
338 Likewise.
339 (unordered_multimap::unordered_multimap<_Iter>(_Iter, _Iter,
340 const _Alloc&)): Likewise.
341 * include/debug/unordered_set
342 (unordered_set::unordered_set<_Iter>(_Iter, _Iter, const _Alloc&)):
343 Likewise.
344 (unordered_multiset::unordered_multiset<_Iter>(_Iter, _Iter,
345 const _Alloc&)): Likewise.
346 * include/debug/vector
347 (vector::vector<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
348
349 * include/debug/formatter.h (_Error_formatter::_M_function): New.
350 (_Error_formatter(const char*, unsigned int)): Adapt.
351 (_Error_formatter::_M_at): Rename in...
352 (_Error_formatter::_S_at): ...that and adapt.
353 * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): New.
354 (_GLIBCXX_DEBUG_VERIFY_AT, _GLIBCXX_DEBUG_VERIFY): Adapt.
355 * src/c++11/debug.cc (_Error_formatter::_M_error): Render _M_function
356 when available.
357
358 2018-05-08 Jonathan Wakely <jwakely@redhat.com>
359
360 * include/bits/regex_automaton.h (_NFA_base::_M_paren_stack, _NFA):
361 Use normal std::vector even in Debug Mode.
362
363 PR libstdc++/85672
364 * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
365 to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
366 * include/Makefile.in: Regenerate.
367 * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
368 within conditional block.
369
370 2018-05-07 Jonathan Wakely <jwakely@redhat.com>
371
372 * doc/xml/manual/using.xml (table.cmd_options): Document that the
373 C++17 Filesystem implementation also needs -lstdc++fs.
374
375 PR libstdc++/85671
376 * include/bits/fs_path.h (operator/): Permit copy elision.
377 * include/experimental/bits/fs_path.h (operator/): Likewise.
378
379 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
380
381 Moar PR libstdc++/80506
382 * include/bits/random.tcc (gamma_distribution::__generate_impl()):
383 Fix magic number used in loop condition.
384
385 2018-05-04 Jonathan Wakely <jwakely@redhat.com>
386
387 PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
388 * include/std/optional (_Optional_payload): Add noexcept to default
389 constructor. Re-indent.
390 (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
391 constructor for copying disengaged payloads.
392 (_Optional_payload<_Tp, true, false, true>): Likewise.
393 (_Optional_payload<_Tp, true, true, false>): Likewise.
394 (_Optional_payload<_Tp, true, false, false>): Likewise.
395 * testsuite/20_util/optional/cons/85642.cc: New.
396 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
397
398 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
399
400 PR libstdc++/82644
401 * include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
402 inline definitions instead of using-declarations.
403 [__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
404 * testsuite/tr1/5_numerical_facilities/special_functions/
405 07_conf_hyperg/compile_cxx17.cc: New.
406 * testsuite/tr1/5_numerical_facilities/special_functions/
407 17_hyperg/compile_cxx17.cc: New.
408
409 PR libstdc++/84769
410 * include/std/variant (visit): Qualify std::get call.
411
412 PR libstdc++/85632 use uintmax_t for arithmetic
413 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
414 arithmetic in result type.
415 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
416 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
417 is greater than free space.
418 * testsuite/experimental/filesystem/operations/space.cc: New.
419
420 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
421 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
422 New.
423 * testsuite/20_util/remove_cvref/value.cc: New.
424 * testsuite/20_util/remove_cvref/value_ext.cc: New.
425
426 PR libstdc++/84087 LWG DR 2268 basic_string default arguments
427 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
428 (append(const basic_string&, size_type, size_type)
429 (assign(const basic_string&, size_type, size_type)
430 (insert(size_type, const basic_string&, size_type, size_type)
431 (replace(size_type,size_type,const basic_string&,size_type,size_type)
432 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
433 Add default arguments (LWG 2268).
434 [_GLIBCXX_USE_CXX11_ABI=0]
435 (append(const basic_string&, size_type, size_type)
436 (assign(const basic_string&, size_type, size_type)
437 (insert(size_type, const basic_string&, size_type, size_type)
438 (replace(size_type,size_type,const basic_string&,size_type,size_type)
439 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
440 Likewise.
441 * testsuite/21_strings/basic_string/dr2268.cc: New test.
442
443 PR libstdc++/84535
444 * include/std/thread (thread::__not_same): New SFINAE helper.
445 (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
446 first argument is not a std::thread. Add static assertion to check
447 INVOKE expression is valid.
448 (thread::thread(thread&), thread::thread(const thread&&)): Remove.
449 (thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
450 __invoke_result for return types and remove exception specifications.
451 * testsuite/30_threads/thread/cons/84535.cc: New.
452
453 * include/std/future (__async_result_of): Use __invoke_result instead
454 of result_of.
455
456 * include/std/any (any_cast): Use __remove_cvref_t.
457 * include/std/tuple (__make_tuple): Likewise.
458 * include/std/type_traits (__remove_cvref_t): Define.
459 (__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
460 [__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
461 * include/std/variant (__erased_hash): Use __remove_cvref_t.
462
463 2018-05-02 François Dumont <fdumont@gcc.gnu.org>
464
465 * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
466 ensure overloaded comma not used.
467 * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
468 * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
469 * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
470 * testsuite/23_containers/deque/modifiers/assign/1.cc: New.
471 * testsuite/23_containers/list/modifiers/assign/1.cc: New.
472 * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
473 * testsuite/23_containers/vector/modifiers/assign/1.cc: New.
474
475 2018-05-02 Jonathan Wakely <jwakely@redhat.com>
476
477 PR libstdc++/68197
478 * include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
479 indices to unsigned.
480 * src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
481 as failure. Refactor error handling.
482 * testsuite/27_io/ios_base/storage/68197.cc: New.
483
484 PR libstdc++/57997
485 PR libstdc++/83860
486 * include/bits/gslice_array.h (gslice_array): Define default
487 constructor as deleted, as per C++11 standard.
488 * include/bits/mask_array.h (mask_array): Likewise.
489 * include/bits/slice_array.h (slice_array): Likewise.
490 * include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
491 to namespace __detail.
492 (_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
493 members.
494 * include/bits/valarray_before.h (_ValArrayRef): New helper for type
495 of data members in closure objects.
496 (_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
497 (_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
498 __detail.
499 (_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
500 (_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
501 (_SBase::_M_expr): Use _ValArrayRef for type of data members.
502 * include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
503 (_ValFunClos, _RefFunClos): Move to namespace __detail and add
504 using-declarations to namespace std.
505 * testsuite/26_numerics/valarray/83860.cc: New.
506
507 * testsuite/backward/strstream_move.cc: Remove duplicate function
508 call.
509
510 PR libstdc++/69608
511 * include/backward/strstream (strstreambuf): Define move constructor
512 and move assignment operator.
513 (istrstream, ostrstream, strstream): Likewise.
514 * testsuite/backward/strstream_move.cc: New.
515
516 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
517
518 PR libstdc++/84654
519 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
520 * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
521 * configure: Regenerate.
522 * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
523 based on ENABLE_FLOAT128.
524 * include/Makefile.in: Regenerate.
525 * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
526 [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
527 _GLIBCXX_USE_FLOAT128.
528
529 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
530
531 * configure: Regenerated.
532
533 2018-04-19 Jakub Jelinek <jakub@redhat.com>
534
535 * configure: Regenerated.
536
537 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
538 Jakub Jelinek <jakub@redhat.com>
539
540 PR libstdc++/85442
541 * src/c++11/Makefile.am: Don't generate debuginfo again for
542 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
543 * src/c++11/Makefile.in: Regenerate.
544
545 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
546
547 PR libstdc++/84442
548 * testsuite/30_threads/thread/cons/terminate.cc
549 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
550
551 2018-04-18 David Malcolm <dmalcolm@redhat.com>
552
553 PR jit/85384
554 * configure: Regenerate.
555
556 2018-04-16 Jonathan Wakely <jwakely@redhat.com>
557
558 * testsuite/experimental/filesystem/file_status/1.cc: Add
559 -DUSE_FILESYSTEM_TS to dg-options.
560 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
561 Likewise.
562 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
563 * testsuite/experimental/filesystem/iterators/
564 recursive_directory_iterator.cc: Likewise.
565 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
566 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
567 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
568 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
569 * testsuite/experimental/filesystem/operations/create_directories.cc:
570 Likewise.
571 * testsuite/experimental/filesystem/operations/create_directory.cc:
572 Likewise.
573 * testsuite/experimental/filesystem/operations/create_symlink.cc:
574 Likewise.
575 * testsuite/experimental/filesystem/operations/current_path.cc:
576 Likewise.
577 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
578 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
579 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
580 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
581 * testsuite/experimental/filesystem/operations/last_write_time.cc:
582 Likewise.
583 * testsuite/experimental/filesystem/operations/permissions.cc:
584 Likewise.
585 * testsuite/experimental/filesystem/operations/read_symlink.cc:
586 Likewise.
587 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
588 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
589 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
590 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
591 Likewise.
592 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
593 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
594 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
595 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
596 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
597 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
598 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
599 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
600 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
601 * testsuite/experimental/filesystem/path/construct/default.cc:
602 Likewise.
603 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
604 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
605 * testsuite/experimental/filesystem/path/construct/string_view.cc:
606 Likewise.
607 * testsuite/experimental/filesystem/path/decompose/extension.cc:
608 Likewise.
609 * testsuite/experimental/filesystem/path/decompose/filename.cc:
610 Likewise.
611 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
612 Likewise.
613 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
614 Likewise.
615 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
616 Likewise.
617 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
618 Likewise.
619 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
620 Likewise.
621 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
622 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
623 Likewise.
624 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
625 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
626 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
627 Likewise.
628 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
629 Likewise.
630 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
631 Likewise.
632 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
633 Likewise.
634 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
635 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
636 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
637 Likewise.
638 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
639 * testsuite/experimental/filesystem/path/query/has_extension.cc:
640 Likewise.
641 * testsuite/experimental/filesystem/path/query/has_filename.cc:
642 Likewise.
643 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
644 Likewise.
645 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
646 Likewise.
647 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
648 Likewise.
649 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
650 Likewise.
651 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
652 Likewise.
653 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
654 * testsuite/experimental/filesystem/path/query/is_relative.cc:
655 Likewise.
656
657 2018-04-13 Jonathan Wakely <jwakely@redhat.com>
658
659 * src/c++11/Makefile.am: Fix sed command.
660 * src/c++11/Makefile.in: Regenerate.
661
662 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
663 handle mangled names starting with double underscores on darwin.
664 * src/c++11/Makefile.in: Regenerate.
665
666 2018-04-12 Jonathan Wakely <jwakely@redhat.com>
667
668 * src/c++11/Makefile.am: Fix comment.
669 * src/c++11/Makefile.in: Regenerate.
670 * src/c++11/cxx11-ios_failure.cc: Fix comment.
671 * src/c++98/ios_failure.cc: Likewise.
672
673 * src/c++11/ios.cc: Remove redundant macro definition.
674
675 2018-04-11 Jonathan Wakely <jwakely@redhat.com>
676
677 * doc/xml/manual/abi.xml: Document header locations in recent
678 releases.
679 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
680 * doc/xml/manual/spine.xml: Update copyright years.
681 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
682 undefined behaviour.
683 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
684 * doc/html/*: Regenerate.
685
686 2018-04-10 Jonathan Wakely <jwakely@redhat.com>
687
688 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
689 * doc/xml/manual/backwards_compatibility.xml: Likewise.
690 * doc/xml/manual/containers.xml: Likewise.
691 * doc/xml/manual/debug_mode.xml: Likewise.
692 * doc/xml/manual/extensions.xml: Likewise.
693 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
694 * doc/xml/manual/using.xml: Likewise.
695 * doc/xml/manual/utilities.xml: Likewise.
696
697 PR libstdc++/85222
698 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
699 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
700 * src/c++11/Makefile.in: Regenerate.
701 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
702 New types.
703 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
704 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
705 * src/c++98/ios_failure.cc (__construct_ios_failure)
706 (__destroy_ios_failure, is_ios_failure_handler): New functions.
707 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
708 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
709 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
710 handler types, to always catch std::ios_base::failure.
711 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
712 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
713 exceptions_failbit.cc: Likewise.
714 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
715 exceptions_failbit.cc: Likewise.
716 * testsuite/27_io/basic_istream/extractors_other/char/
717 exceptions_null.cc: Likewise.
718 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
719 exceptions_null.cc: Likewise.
720 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
721 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
722 * testsuite/27_io/basic_ostream/inserters_other/char/
723 exceptions_null.cc: Likewise.
724 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
725 exceptions_null.cc: Likewise.
726 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
727
728 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
729
730 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
731 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
732
733 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
734
735 PR libstdc++/85183
736 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
737 value categories.
738 * testsuite/20_util/variant/85183.cc: New.
739
740 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
741
742 * include/std/variant (__get): Qualify calls to avoid ADL.
743 (__select_index): Adjust whitespace.
744 (variant): Add using-declaration to workaround Clang bug.
745
746 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
747
748 PR libstdc++/85040
749 * include/bits/stl_function.h (greater::__not_overloaded)
750 (less::__not_overloaded, greater_equal::__not_overloaded)
751 (less_equal::__not_overloaded): Fix ambiguous specializations.
752 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
753 tests for type with overloaded operators.
754
755 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
756
757 PR libstdc++/77691
758 * testsuite/experimental/memory_resource/resource_adaptor.cc:
759 xfail execution on 32-bit Solaris/x86.
760
761 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
762
763 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
764 VERIFY instead of assert.
765 * testsuite/20_util/hash/84998.cc: New test.
766 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
767 copy of test adjusted for Debug Mode.
768 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
769 test in Debug Mode.
770
771 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
772
773 PR libstdc++/84998
774 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
775 * include/std/bitset: Likewise.
776 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
777 declaration.
778 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
779 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
780 * include/bits/stl_set.h (std::set<>): Likewise.
781 * include/bits/unordered_map.h (std::unordered_map<>): Fix
782 _Hash_merge_helper friend declaration.
783 (std::unordered_multimap<>): Likewise.
784 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
785 (std::unordered_multiset<>): Likewise.
786
787 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
788
789 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
790 trailing slash for domain level link.
791 * doc/xml/faq.xml: Ditto.
792 * doc/xml/manual/appendix_free.xml (software): Ditto.
793 * doc/xml/manual/intro.xml: Ditto.
794 * doc/xml/manual/spine.xml: Ditto.
795 * doc/xml/spine.xml: Ditto.
796
797 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
798
799 * doc/xml/manual/documentation_hacking.xml: Adjust link to
800 docbook.org.
801
802 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
803
804 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
805 to compile as C++98.
806
807 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
808
809 PR libstdc++/78420
810 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
811 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
812 to ensure total order for pointers.
813 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
814 Add operator() overloads for pointer arguments and make generic
815 overloads dispatch to new _S_cmp functions when comparisons would
816 use built-in operators for pointers.
817 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
818
819 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
820
821 PR libstdc++/84773
822 PR libstdc++/83662
823 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
824 * configure: Regenerate.
825 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
826 (aligned_alloc): Add using-declaration.
827 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
828
829 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
830
831 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
832 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
833 registration.
834
835 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
836
837 PR libstdc++/84769
838 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
839 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
840
841 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
842 src/filesystem/std-ops.cc (create_dir): Likewise.
843
844 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
845
846 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
847 (StdListIteratorPrinter): Inherit from latter.
848 (StdFwdListIteratorPrinter): New, inherit from latter.
849 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
850 when iterator has no associated container.
851 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
852 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
853 registrations.
854 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
855 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
856
857 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
858
859 PR libstdc++/84601
860 * include/std/optional (_Optional_payload): Split into multiple
861 specializations that can handle different cases of trivial or
862 non-trivial assignment operators.
863 * testsuite/20_util/optional/84601.cc: New.
864 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
865
866 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
867
868 PR libstdc++/84671
869 * include/bits/parse_numbers.h (_Number_help): Add partial
870 specialization to handle digit separators. Adjust partial
871 specialization for recursion temrination to require _Pow == 1ULL.
872 * testsuite/20_util/duration/literals/84671.cc: New
873
874 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
875
876 Implement the missing bits of LWG 2769
877 * include/std/any (any_cast(const any&)): Add static_assert.
878 (any_cast(any&)): Likewise.
879 (any_cast(any&&)): Likewise, and remove the handling
880 for copyable-but-not-movable type.
881 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
882 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
883 add new tests.
884
885 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
886
887 PR libstdc++/84532
888 * include/std/thread (thread::__make_invoker): Construct tuple
889 directly instead of using make_tuple.
890 * testsuite/30_threads/async/84532.cc: New.
891 * testsuite/30_threads/thread/84532.cc: New.
892
893 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
894
895 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
896 (template<> __aligned_buffer): Define as __aligned_membuf alias.
897
898 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
899
900 PR target/84148
901 * configure: Regenerate.
902
903 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
904
905 PR libstdc++/81797
906 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
907 * configure: Regenerate.
908 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
909 defined.
910 * include/Makefile.in: Regenerate.
911
912 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
913
914 PR libstdc++/83833
915 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
916 Add -ffloat-store to options for m68k and ia32.
917
918 * doc/xml/faq.xml: Update copyright years.
919 * doc/html/*: Regenerate.
920
921 PR libstdc++/83658
922 * include/std/any (any::__do_emplace): Only set _M_manager after
923 constructing the contained object.
924 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
925 * testsuite/20_util/any/modifiers/83658.cc: New test.
926
927 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
928
929 PR libstdc++/81076
930 * include/c_global/cstddef (__byte_operand): Define primary template.
931 * testsuite/18_support/byte/81076.cc: New test.
932
933 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
934
935 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
936 dg-options and dg-add-options order.
937 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
938 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
939 Likewise.
940 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
941 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
942 Likewise.
943 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
944 Likewise.
945 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
946 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
947 Likewise.
948 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
949 Likewise.
950 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
951 Likewise.
952 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
953 Likewise.
954 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
955 Likewise.
956 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
957 Likewise.
958 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
959 Likewise.
960 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
961 Likewise.
962 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
963 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
964 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
965 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
966 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
967 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
968 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
969 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
970 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
971 Likewise.
972 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
973 Likewise.
974 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
975 Likewise.
976 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
977 Likewise.
978
979 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
980
981 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
982 include linux/types.h when checking linux/random.h header.
983 * config.h.in: Regenerate.
984 * configure: Ditto.
985 * src/c++11/random.cc: Conditionally include linux/types.h.
986
987 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
988
989 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
990
991 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
992
993 PR libstdc++/83834
994 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
995 pattern with exact match for std::cerr.
996
997 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
998
999 PR libstdc++/83833
1000 * include/bits/random.h (chi_squared_distribution::param): Update
1001 gamma distribution parameter.
1002 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
1003 test.
1004
1005 PR libstdc++/83830
1006 * include/std/type_traits (has_unique_object_representations_v): Add
1007 variable template.
1008 * testsuite/20_util/has_unique_object_representations/value.cc: Check
1009 variable template.
1010
1011 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1012
1013 Make optional conditionally
1014 trivially_{copy,move}_{constructible,assignable}
1015 * include/std/optional (_Optional_payload): Fix the comment in
1016 the class head and turn into a primary and one specialization.
1017 (_Optional_payload::_M_engaged): Strike the NSDMI.
1018 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
1019 New.
1020 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
1021 Likewise.
1022 (_Optional_payload<_Tp, false>::_M_get): Likewise.
1023 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
1024 (_Optional_base_impl): Likewise.
1025 (_Optional_base): Turn into a primary and three specializations.
1026 (optional(nullopt)): Change the base init.
1027 * testsuite/20_util/optional/assignment/8.cc: New.
1028 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
1029 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
1030
1031 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
1032
1033 PR libstdc++/80276
1034 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
1035 (get_template_arg_list): New.
1036 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
1037 instead.
1038 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
1039 of strings and regular expressions.
1040 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
1041 (FilteringTypePrinter): Add docstring. Match using startswith. Use
1042 strip_inline_namespaces instead of strip_versioned_namespace.
1043 (add_one_type_printer): Prepend namespace to match argument.
1044 (register_type_printers): Add type printers for char16_t and char32_t
1045 string types and for types using cxx11 ABI. Update calls to
1046 add_one_template_type_printer to provide default argument dicts.
1047 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
1048 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
1049 basic_string<unsigned char> and basic_string<signed char>.
1050 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
1051 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
1052
1053 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
1054
1055 PR libstdc++/81092
1056 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1057
1058 2018-01-13 Tim Shen <timshen@google.com>
1059
1060 PR libstdc++/83601
1061 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
1062 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
1063 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
1064
1065 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1066
1067 PR libstdc++/64054
1068 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
1069 Remove dg-xfail-run-if.
1070
1071 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
1072
1073 * include/bits/forward_list.h
1074 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
1075 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
1076 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
1077 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
1078 (_Fwd_list_impl()): Add noexcept qualification.
1079 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
1080 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
1081 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
1082 (_Fwd_list_base()): Default.
1083 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
1084 (_Fwd_list_base(_Fwd_list_base&&)): Default.
1085 (forward_list<>()): Default.
1086 (forward_list<>(forward_list&&)): Default.
1087 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
1088 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
1089 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
1090 * include/bits/forward_list.tcc
1091 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
1092 _M_impl._M_head move assignment.
1093 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
1094 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
1095
1096 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
1097
1098 PR libstdc++/80276
1099 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
1100 (UniquePointerPrinter): Print correct template argument, not type of
1101 the pointer.
1102 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
1103 a type.
1104 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
1105 array type.
1106 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
1107 weak_ptr of array types.
1108
1109 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
1110
1111 PR libstdc++/83709
1112 * include/bits/hashtable_policy.h
1113 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
1114 __first != __last.
1115 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
1116 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
1117 Add false_type parameter.
1118 (_Insert_base::insert): Adapt.
1119 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
1120 Adapt.
1121 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
1122 Add __n_elt parameter, defaulted to 1.
1123 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
1124 policy _M_need_rehash.
1125 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
1126 produce only 1 rehash if necessary.
1127 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
1128 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
1129
1130 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
1131 Jonathan Wakely <jwakely@redhat.com>
1132
1133 PR libstdc++/59253 (partial)
1134 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
1135 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
1136 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
1137 children.
1138 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
1139 of unique_ptr printer.
1140 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
1141 output of shared_ptr printer.
1142
1143 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
1144
1145 PR libstdc++/83626
1146 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
1147 unnecessary symlink_status call.
1148 (remove_all(const path&, error_code&)): Use filesystem::remove.
1149 * src/filesystem/std-ops.cc: Likewise.
1150
1151 PR libstdc++/83279
1152 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
1153 sendfile.
1154
1155 PR libstdc++/83626
1156 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
1157 report an error for ENOENT.
1158 (remove_all(const path&)): Fix type of result variable.
1159 (remove_all(const path&, error_code&)): Use non-throwing increment
1160 for directory iterator. Call POSIX remove directly to avoid redundant
1161 calls to symlink_status. Do not report errors for ENOENT.
1162 * src/filesystem/std-ops.cc: Likewise.
1163 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
1164 overload.
1165 * testsuite/experimental/filesystem/operations/remove_all.cc:
1166 Likewise.
1167
1168 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
1169
1170 PR libstdc++/83626
1171 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
1172 redundant call to ec.clear().
1173 (remove_all(const path&, error_code&))): Do not return an error for
1174 non-existent paths.
1175 * src/filesystem/std-ops.cc: Likewise.
1176 * testsuite/27_io/filesystem/operations/remove.cc: New test.
1177 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
1178 results for non-existent paths.
1179 * testsuite/experimental/filesystem/operations/remove.cc: New test.
1180 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
1181 expected results for non-existent paths.
1182
1183 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
1184 check status_known once.
1185 * include/experimental/bits/fs_ops.h: Likewise.
1186
1187 PR libstdc++/83607
1188 * include/std/functional (__is_byte_like): New trait.
1189 (__is_std_equal_to): Remove.
1190 (__boyer_moore_base_t): Use __is_byte_like instead of
1191 __is_std_equal_to.
1192 * include/experimental/functional (__is_std_equal_to): Remove.
1193 (__boyer_moore_base_t): Use __is_byte_like instead of
1194 __is_std_equal_to.
1195 * testsuite/20_util/function_objects/83607.cc: New test.
1196
1197 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
1198
1199 Protect optional's deduction guide with the feature macro
1200 * include/std/optional: Use the feature macro.
1201
1202 2018-01-03 Jakub Jelinek <jakub@redhat.com>
1203
1204 Update copyright years.
1205 \f
1206 Copyright (C) 2018 Free Software Foundation, Inc.
1207
1208 Copying and distribution of this file, with or without modification,
1209 are permitted in any medium without royalty provided the copyright
1210 notice and this notice are preserved.