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