1 2016-12-21 Release Manager
5 2016-12-12 Jonathan Wakely <jwakely@redhat.com>
8 2016-10-26 Uros Bizjak <ubizjak@gmail.com>
10 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
11 for PATH_MAX in realpath test.
12 * configure: Regenerate.
14 Backport from mainline
15 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
17 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
18 * configure: Regenerate.
19 * config.h.in: Regenerate.
21 2016-12-12 Jonathan Wakely <jwakely@redhat.com>
23 Backport from mainline
24 2016-12-07 Jonathan Wakely <jwakely@redhat.com>
26 * testsuite/18_support/headers/new/synopsis.cc: Add C++14 declarations
27 and use effective-target to do test for C++11 and later.
28 * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.
30 2016-12-12 Jonathan Wakely <jwakely@redhat.com>
32 Backport from mainline
33 2016-11-22 Jonathan Wakely <jwakely@redhat.com>
36 * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
37 with preprocessor conditions.
39 2016-12-12 Jonathan Wakely <jwakely@redhat.com>
41 Backport from mainline
42 2016-10-19 Jonathan Wakely <jwakely@redhat.com>
44 * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
45 Change relevant constructors to call _M_enable_shared_from_this_with.
46 (experimental::shared_ptr::__efst_base_t)
47 (experimental::shared_ptr::__has_efst_base): Helpers to detect
48 accessible and unambiguous enable_shared_from_this bases.
49 (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
50 (experimental::__enable_shared_from_this_helper): Remove overload for
51 std::experimental::enable_shared_from_this.
52 (experimental::__expt_enable_shared_from_this_base): Define friend
53 function to select a std::experimental::enable_shared_from_this base.
54 * testsuite/experimental/memory/shared_ptr/cons/
55 enable_shared_from_this.cc: New test.
56 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
57 Adjust expected behaviour for shared_ptr<A[]>.
59 2016-12-12 Jonathan Wakely <jwakely@redhat.com>
61 * testsuite/experimental/filesystem/operations/is_empty.cc:
62 Remove stray character at end of dg-do directive.
64 2016-12-12 Jonathan Wakely <jwakely@redhat.com>
66 Backport from mainline
70 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
71 Overload pop (LWG 2706).
72 * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
73 Replace with symlink_nofollow (LWG 2720).
74 * include/experimental/bits/fs_ops.h
75 (exists(const path&, error_code&)): Clear error if status is known
77 * include/experimental/bits/fs_path.h (__is_path_src)
78 (_S_range_begin, _S_range_end): Overload to treat string_view as a
80 (path::operator+=, path::compare): Overload for basic_string_view.
81 (path::path(string_type&&))
82 (path::operator=(string&&), path::assign(string_type&&)): Define
83 construction and assignment from string_type rvalues (LWG 2707).
84 (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
85 iterator's value_type.
86 (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
87 Do not use operation not supported by input iterators.
88 (path::__is_path_iter_src): Add partial specialization for const
89 encoded character types.
90 * src/filesystem/dir.cc (open_dir): Return same value for errors
91 whether ignored or not.
92 (_Dir::advance(error_code*, directory_options)): Return false on
94 (directory_iterator(const path&, directory_options, error_code*)):
95 Create end iterator on error (LWG 2723).
96 (recursive_directory_iterator(const path&, directory_options,
97 error_code*)): Likewise.
98 (recursive_directory_iterator::increment): Reset state on error.
99 (recursive_directory_iterator::pop): Define new overload.
100 * src/filesystem/ops.cc (canonical): Set error for non-existent path.
101 (file_time): Take error_code parameter and check for overflow.
103 (do_copy_file): Report an error if source or destination is not a
104 regular file (LWG 2712). Pass error_code in file_time calls. Just
105 use close(3) instead of close_fd, to prevent retrying on error.
106 Check if _GLIBCXX_USE_FCHMODAT is defined.
107 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
108 sendfile fails with ENOSYS or EINVAL. Pass non-null pointer to
109 sendfile for offset argument.
110 (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
112 (equivalent): Fix error handling and result when only one file exists.
113 (is_empty): Fix error handling.
114 (last_write_time(const path&, error_code&)): Pass error_code in
116 (last_write_time(const path&, file_time_type, error_code&)): Handle
117 negative times correctly.
118 (permissions(const path&, perms, error_code&)): Handle
120 (read_symlink): Add missing ec.clear().
121 (status(const path&, error_code&)): Handle EOVERFLOW.
122 (temp_directory_path): Pass error_code argument to other filesystem
124 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
125 Update expected behaviour on error.
126 * testsuite/experimental/filesystem/iterators/pop.cc: New.
127 * testsuite/experimental/filesystem/iterators/
128 recursive_directory_iterator.cc: Update expected behaviour on error.
129 * testsuite/experimental/filesystem/operations/copy.cc: Update
130 expected behaviour for copying directories with create_symlinks.
131 Verify that error_code arguments are cleared if there's no error.
132 Remove files created by tests. Test copying directories.
133 * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
134 files created by tests.
135 * testsuite/experimental/filesystem/operations/create_symlink.cc: New.
136 * testsuite/experimental/filesystem/operations/equivalent.cc: New.
137 * testsuite/experimental/filesystem/operations/exists.cc: Test
138 overload taking an error_code.
139 * testsuite/experimental/filesystem/operations/is_empty.cc: New.
140 * testsuite/experimental/filesystem/operations/last_write_time.cc:
142 * testsuite/experimental/filesystem/operations/permissions.cc: Test
143 overload taking error_code. Test symlink_nofollow on non-symlinks.
144 * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
145 * testsuite/experimental/filesystem/operations/remove_all.cc: New.
146 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
147 Add testcase for inaccessible directory.
148 * testsuite/experimental/filesystem/path/construct/range.cc: Test
149 construction from input iterators with const value types.
150 * testsuite/experimental/filesystem/path/construct/string_view.cc:
152 * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
154 2016-12-09 Jonathan Wakely <jwakely@redhat.com>
156 Backport from mainline
157 2016-12-08 David Edelsohn <dje.gcc@gmail.com>
159 * testsuite/25_algorithms/headers/algorithm/
160 parallel_algorithm_assert2.cc: Move dg-do run first.
162 2016-12-08 Jonathan Wakely <jwakely@redhat.com>
165 * doc/xml/manual/using.xml: Document macro.
166 * include/bits/c++config [_GLIBCXX_DEBUG || _GLIBCXX_PARALLEL]
167 (__glibcxx_assert): Rename to __glibcxx_assert_impl.
168 [_GLIBCXX_DEBUG] (__glibcxx_assert): Expand to __glibcxx_assert_impl.
169 * include/parallel/base.h [_GLIBCXX_PARALLEL_ASSERTIONS]
170 (_GLIBCXX_PARALLEL_ASSERT): Expand to __glibcxx_assert_impl.
171 [!_GLIBCXX_PARALLEL_ASSERTIONS] (_GLIBCXX_PARALLEL_ASSERT): Define as
173 * testsuite/25_algorithms/headers/algorithm/
174 parallel_algorithm_assert2.cc: New test.
176 2016-12-08 Jonathan Wakely <jwakely@redhat.com>
178 Backport from mainline
179 2016-11-10 François Dumont <fdumont@gcc.gnu.org>
182 * src/c++11/debug.cc (format_word): Delete.
183 (print_literal): New. Replace call to print_word for literals.
185 2016-12-07 Jonathan Wakely <jwakely@redhat.com>
187 Backport from mainline
188 2016-11-13 Jonathan Wakely <jwakely@redhat.com>
191 * include/experimental/memory_resource (memory_resource::_S_max_align):
192 Change access to protected.
194 Backport from mainline
195 2016-10-19 Jonathan Wakely <jwakely@redhat.com>
197 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
198 Add tests for valid and invalid conversions.
199 * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
202 Backport from mainline
203 2016-10-19 Jonathan Wakely <jwakely@redhat.com>
205 * include/experimental/bits/shared_ptr.h
206 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
207 is_convertible for non-array specialization.
208 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
209 constraint for conversions from unique_ptr.
210 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
211 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
212 (__sp_compatible_v): New variable template for trait.
213 (__sp_is_constructible): New trait to check shared_ptr constraints.
214 (__sp_is_constructible_v): New variable template for trait.
215 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
216 constraint for construction/reset, using __sp_is_constructible_v.
217 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
218 constraint for conversions from unique_ptr.
219 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
220 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
221 (shared_ptr::_SafeConv): Constraint for checking constructors.
222 (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
223 (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
224 (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
225 (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
226 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
227 Remove tests using invalid conversions.
228 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
230 * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
231 * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
232 tests using invalid conversions.
233 * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
235 * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
236 Remove tests using invalid conversions.
238 Backport from mainline
239 2016-10-18 Jonathan Wakely <jwakely@redhat.com>
241 * include/experimental/bits/shared_ptr.h: Fix indentation.
243 Backport from mainline
244 2016-10-18 Jonathan Wakely <jwakely@redhat.com>
246 * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
247 Remove const from parameter.
248 (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
249 specialization of std::less.
250 * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
251 Test comparison with nullptr and actually call test functions.
253 Backport from mainline
254 2016-10-11 Jonathan Wakely <jwakely@redhat.com>
256 * doc/xml/manual/intro.xml: Document LWG 2484 status.
257 * libsupc++/nested_exception.h (_Throw_with_nested_impl)
258 (_Throw_with_nested_helper): Remove.
259 (__throw_with_nested_impl): New overloaded functions to implement
260 throw_with_nested logic.
261 (throw_with_nested): Call __throw_with_nested_impl.
262 (_Rethrow_if_nested_impl): Remove
263 (__rethrow_if_nested_impl): New overloaded functions to implement
264 rethrow_if_nested logic.
265 (rethrow_if_nested): Call __rethrow_if_nested_impl.
266 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
267 problem cases from LWG 2484.
269 Backport from mainline
270 2016-10-11 Jonathan Wakely <jwakely@redhat.com>
272 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
273 Register printer for std::__cxx11::list.
274 * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
275 std::__cxx11::list as well as std::list.
277 Backport from mainline
278 2016-10-12 Jonathan Wakely <jwakely@redhat.com>
280 * doc/xml/manual/intro.xml: Document LWG 2442 status.
281 * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
282 (call_once): Use lambda expression and std::__invoke instead of
283 __bind_simple and __once_call_impl.
284 * testsuite/30_threads/call_once/dr2442.cc: New test.
286 Backport from mainline
287 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
289 * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
290 * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
292 * testsuite/util/testsuite_allocator.h
293 (uneq_allocator::is_always_equal): Define as false_type.
295 Backport from mainline
296 2016-10-06 Jonathan Wakely <jwakely@redhat.com>
298 * doc/xml/manual/status_cxx2011.xml: Update status.
299 * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
300 New helpers for recursive OUTERMOST.
301 (__outermost): Use __outermost_type::_S_outermost.
302 (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
303 (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
304 __outermost_type helper.
305 (scoped_allocator_adaptor::_Constructible): New alias template.
306 (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
307 Constrain template constructors.
308 * testsuite/20_util/scoped_allocator/3.cc: New test.
309 * testsuite/20_util/scoped_allocator/outermost.cc: New test.
311 Backport from mainline
312 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
315 * doc/xml/manual/intro.xml: Document DR 2127 change.
316 * doc/html/*: Regenerate.
317 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
318 (operator++(), operator++(int)): Use injected class name.
319 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
321 Backport from mainline
322 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
324 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
326 (__invoke_impl): Remove unused template parameters.
327 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
329 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
330 and test __invoke extension for C++11.
332 2016-12-07 Ville Voutilainen <ville.voutilainen@gmail.com>
334 Backport from mainline
335 2016-12-06 Ville Voutilainen <ville.voutilainen@gmail.com>
337 Constrain optional's __constexpr_addressof in its return type
338 and use a constexpr addressof for optional, if available.
339 * include/experimental/optional (__constexpr_addressof):
340 Constrain in the return type instead of in a template parameter.
342 (_Has_addressof_free, _Has_addressof, __constexpr_addressof):
343 Guard with #ifndef __cpp_lib_addressof_constexpr.
344 (operator->()): Use std::__addressof if it's constexpr.
346 2016-12-06 Aditya Kumar <hiraditya@msn.com>
348 * src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
349 noexcept on constructor.
350 (_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.
352 2016-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
354 Backport from mainline
355 2016-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
357 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
358 (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
359 (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
360 Add test for C++11 <math.h> integral overloads.
361 * configure: Regenerate.
362 * config.h.in: Regenerate.
364 * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
365 __CORRECT_ISO_CPP11_MATH_H_PROTO to
366 __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
367 * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
368 !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
369 (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
370 (std::isfinite): Likewise.
371 (std::isinf): Likewise.
372 (std::isnan): Likewise.
373 (std::isnormal): Likewise.
374 (std::signbit): Likewise.
375 (std::isgreater): Likewise.
376 (std::isgreaterequal): Likewise.
377 (std::isless): Likewise.
378 (std::islessequal): Likewise.
379 (std::islessgreater): Likewise.
380 (std::isunordered): Likewise.
381 [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
382 (std::acosh): Likewise.
383 (std::asinh): Likewise.
384 (std::atanh): Likewise.
385 (std::cbrt): Likewise.
386 (std::copysign): Likewise.
387 (std::erf): Likewise.
388 (std::erfc): Likewise.
389 (std::exp2): Likewise.
390 (std::expm1): Likewise.
391 (std::fdim): Likewise.
392 (std::fma): Likewise.
393 (std::fmax): Likewise.
394 (std::fmin): Likewise.
395 (std::hypot): Likewise.
396 (std::ilogb): Likewise.
397 (std::lgamma): Likewise.
398 (std::llrint): Likewise.
399 (std::llround): Likewise.
400 (std::log1p): Likewise.
401 (std::log2): Likewise.
402 (std::logb): Likewise.
403 (std::lrint): Likewise.
404 (std::lround): Likewise.
405 (std::nearbyint): Likewise.
406 (std::nextafter): Likewise.
407 (std::nexttoward): Likewise.
408 (std::remainder): Likewise.
409 (std::remquo): Likewise.
410 (std::rint): Likewise.
411 (std::round): Likewise.
412 (std::scalbln): Likewise.
413 (std::scalbn): Likewise.
414 (std::tgamma): Likewise.
415 (std::trunc): Likewise.
416 * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
417 201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
418 __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
420 2016-11-23 Jonathan Wakely <jwakely@redhat.com>
422 * testsuite/24_iterators/reverse_iterator/71771.cc: Replace calls to
423 C++14 std::rbeing and std::rend. Use dg-options instead of
425 * testsuite/27_io/headers/cstdio/functions_neg.cc: Use dg-options
426 instead of effective-target.
427 * testsuite/experimental/numeric/77801.cc: Likewise.
429 2016-11-23 Felix Morgner <felix.morgner@gmail.com>
430 Jonathan Wakely <jwakely@redhat.com>
433 * include/experimental/propagate_const (propagate_const::operator=):
434 Add missing return statements.
435 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
436 Adjust dg-error line numbers.
437 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
439 2016-11-22 Uros Bizjak <ubizjak@gmail.com>
441 * testsuite/Makefile.am
442 (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
444 * testsuite/Makefile.in: Regenereate.
446 2016-11-15 Jonathan Wakely <jwakely@redhat.com>
448 * testsuite/experimental/any/typedefs.cc: Fix license text.
449 * testsuite/experimental/array/make_array.cc: Likewise.
450 * testsuite/experimental/array/neg.cc: Likewise.
451 * testsuite/experimental/chrono/value.cc: Likewise.
452 * testsuite/experimental/deque/erasure.cc: Likewise.
453 * testsuite/experimental/forward_list/erasure.cc: Likewise.
454 * testsuite/experimental/list/erasure.cc: Likewise.
455 * testsuite/experimental/map/erasure.cc: Likewise.
456 * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
458 * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
459 * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
460 * testsuite/experimental/memory/observer_ptr/make_observer.cc:
462 * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
464 * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
465 * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
466 * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
467 * testsuite/experimental/optional/77288.cc: Likewise.
468 * testsuite/experimental/optional/assignment/1.cc: Likewise.
469 * testsuite/experimental/optional/assignment/2.cc: Likewise.
470 * testsuite/experimental/optional/assignment/3.cc: Likewise.
471 * testsuite/experimental/optional/assignment/4.cc: Likewise.
472 * testsuite/experimental/optional/assignment/5.cc: Likewise.
473 * testsuite/experimental/optional/assignment/6.cc: Likewise.
474 * testsuite/experimental/optional/cons/77727.cc: Likewise.
475 * testsuite/experimental/optional/cons/move.cc: Likewise.
476 * testsuite/experimental/optional/cons/value.cc: Likewise.
477 * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
478 * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
479 * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
480 * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
481 * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
482 * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
483 * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
484 * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
485 * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
486 * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
487 * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
488 * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
489 * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
490 * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
491 * testsuite/experimental/optional/make_optional.cc: Likewise.
492 * testsuite/experimental/optional/observers/1.cc: Likewise.
493 * testsuite/experimental/optional/observers/2.cc: Likewise.
494 * testsuite/experimental/optional/observers/3.cc: Likewise.
495 * testsuite/experimental/optional/observers/4.cc: Likewise.
496 * testsuite/experimental/optional/observers/5.cc: Likewise.
497 * testsuite/experimental/optional/relops/1.cc: Likewise.
498 * testsuite/experimental/optional/relops/2.cc: Likewise.
499 * testsuite/experimental/optional/relops/3.cc: Likewise.
500 * testsuite/experimental/optional/relops/4.cc: Likewise.
501 * testsuite/experimental/optional/relops/5.cc: Likewise.
502 * testsuite/experimental/optional/relops/6.cc: Likewise.
503 * testsuite/experimental/optional/requirements.cc: Likewise.
504 * testsuite/experimental/optional/swap/1.cc: Likewise.
505 * testsuite/experimental/optional/typedefs.cc: Likewise.
506 * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
507 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
509 * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
510 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
511 * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
512 * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
513 * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
514 * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
515 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
516 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
517 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
518 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
519 * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
520 * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
521 * testsuite/experimental/random/randint.cc: Likewise.
522 * testsuite/experimental/ratio/value.cc: Likewise.
523 * testsuite/experimental/set/erasure.cc: Likewise.
524 * testsuite/experimental/string/erasure.cc: Likewise.
525 * testsuite/experimental/string_view/typedefs.cc: Likewise.
526 * testsuite/experimental/system_error/value.cc: Likewise.
527 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
528 * testsuite/experimental/type_traits/value.cc: Likewise.
529 * testsuite/experimental/unordered_map/erasure.cc: Likewise.
530 * testsuite/experimental/unordered_set/erasure.cc: Likewise.
531 * testsuite/experimental/vector/erasure.cc: Likewise.
533 2016-10-24 Ville Voutilainen <ville.voutilainen@gmail.com>
535 Backport from mainline:
537 2016-10-24 Ville Voutilainen <ville.voutilainen@gmail.com>
538 Cross-port the latest resolution of LWG2756 and some
539 bug-fixes to experimental::optional.
542 * include/experimental/optional (_Optional_base):
543 Remove constructors that take a _Tp.
544 (__is_optional_impl, __is_optional): Remove.
545 (__converts_from_optional): New.
546 (optional(_Up&&)): Fix constraints, call base with in_place.
547 (optional(const optional<_Up>&)): Fix constraints, use emplace.
548 (optional(optional<_Up>&&)): Likewise.
549 (operator=(_Up&&)): Fix constraints.
550 (operator=(const optional<_Up>&)): Likewise.
551 (operator=(optional<_Up>&&)): Likewise.
552 (emplace(_Args&&...)): Constrain.
553 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
554 * testsuite/experimental/optional/77288.cc: New.
555 * testsuite/experimental/optional/assignment/5.cc: Adjust.
556 * testsuite/experimental/optional/cons/77727.cc: New.
557 * testsuite/experimental/optional/cons/value.cc: Adjust.
559 2016-10-20 Jonathan Wakely <jwakely@redhat.com>
562 * include/bits/allocator.h (allocator<void>::construct)
563 (allocator<void>::destroy): Define.
564 * testsuite/20_util/allocator/void.cc: New test.
566 2016-10-19 Jonathan Wakely <jwakely@redhat.com>
568 * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
570 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file. Fix
571 test for incompatible deleters to not also use incompatible types.
572 Add tests for incompatible array types.
575 * include/bits/unique_ptr.h (unique_ptr::unique_ptr(pointer)): Set
576 pointer member after value-initialization of tuple.
577 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-errors.
578 * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
579 * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Adjust dg-error.
581 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
584 * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
585 value to pointer of the correct type to swap, to support conversions
586 allowed by LWG 2118 / N4089.
587 * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
588 incompatible deleters from ...
589 * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
590 * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
591 incompatible pointers to ...
592 * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
593 destructor definition to base class. Test for invalid derived-to-base
596 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
598 * testsuite/20_util/function/77322.cc: Remove effective-target from
600 * testsuite/20_util/function/cons/72820.cc: Likewise.
602 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
604 Backport from mainline:
605 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
607 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
608 Replace <literallayout> with nested <variablelist> elements. Update
609 some more outdated text.
610 * doc/html/*: Regenerate.
612 Backport from mainline:
613 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
615 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
616 Describe other subdirectories and add markup. Remove outdated
617 reference to check-script target.
619 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
621 Backport from mainline:
622 2016-10-10 Jonathan Wakely <jwakely@redhat.com>
624 * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
626 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
628 Backport from mainline:
629 2016-10-13 Jonathan Wakely <jwakely@redhat.com>
631 * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
634 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
636 Backport from mainline:
637 2016-10-11 Jonathan Wakely <jwakely@redhat.com>
639 * include/experimental/string_view (basic_string_view::_S_compare):
640 Remove redundant const from return type.
642 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
644 Backport from mainline:
645 2016-10-13 Jonathan Wakely <jwakely@redhat.com>
647 * include/experimental/functional (boyer_moore_searcher)
648 (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
651 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
653 Backport from mainline:
654 2016-10-13 Jonathan Wakely <jwakely@redhat.com>
656 * include/experimental/propagate_const (element_type): Qualify
659 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
661 Backport from mainline:
662 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
665 * doc/xml/manual/intro.xml: Document DR 2062 change.
666 * include/std/functional (function::swap): Add noexcept.
667 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
668 * testsuite/20_util/function/77322.cc: New test.
670 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
672 Backport from mainline:
673 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
675 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
676 directive and use effective target instead of dg-options.
678 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
680 Backport from mainline:
681 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
684 * include/std/functional (_Function_base::_Base_manager::_M_clone):
685 Qualify new operator.
686 * testsuite/20_util/function/cons/72820.cc: New test.
688 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
691 * include/experimental/algorithm (experimental::sample): Convert size
692 argument to iterator difference type. Fix invalid use of input
693 iterator. Defend against overloaded comma operator.
695 2016-10-05 Jonathan Wakely <jwakely@redhat.com>
698 * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
700 * testsuite/23_containers/priority_queue/allocator.cc: New test.
703 * include/bits/stl_map.h (map::map()): Use nothrow constructibility
704 of comparison function in conditional noexcept.
705 * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
706 * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
707 * include/bits/stl_set.h (set::set()): Likewise.
708 * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
710 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
712 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
714 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
717 * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
721 * include/experimental/functional (_Not_fn): Add second parameter to
722 disambiguate copying from initialization by not_fn.
723 (not_fn): Add second argument to initialization.
724 * testsuite/experimental/functional/not_fn.cc: Copy call wrapper using
725 direct-initialization. Test abstract class.
727 2016-10-03 Jonathan Wakely <jwakely@redhat.com>
731 * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
732 __cxa_thread_atexit and __gnu_cxx::__freeres.
733 * include/Makefile.am: Add <experimental/bits/lfts_config.h>
734 * include/Makefile.in: Regenerate.
735 * include.bits/basic_string.h: Fix nesting of versioned namespaces.
736 * include/bits/c++config: Declare versioned namespaces for literals.
737 * include/bits/regex.h (basic_regex, match_results): Add workarounds
739 * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
740 * include/std/chrono: Likewise.
741 * include/std/complex: Likewise.
742 * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
743 * include/experimental/bits/lfts_config.h: Declare versioned
745 * include/experimental/algorithm: Include
746 <experimental/bits/lfts_config.h>.
747 * include/experimental/any: Likewise.
748 * include/experimental/bits/erase_if.h: Likewise.
749 * include/experimental/chrono: Likewise.
750 * include/experimental/functional: Likewise.
751 * include/experimental/memory_resource: Likewise.
752 * include/experimental/optional: Likewise.
753 * include/experimental/propagate_const: Likewise.
754 * include/experimental/random: Likewise.
755 * include/experimental/ratio: Likewise.
756 * include/experimental/system_error: Likewise.
757 * include/experimental/tuple: Likewise.
758 * include/experimental/type_traits: Likewise.
759 * include/experimental/utility: Likewise.
760 * include/experimental/string_view: Likewise. Fix nesting of
761 versioned namespaces.
762 * include/experimental/bits/string_view.tcc: Reopen inline namespace
763 for non-inline function definitions.
764 * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
765 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
766 * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
767 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
769 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
770 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
771 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
772 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
773 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
774 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
776 2016-09-30 Jonathan Wakely <jwakely@redhat.com>
779 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
781 * config.h.in: Regenerate.
782 * configure: Regenerate.
783 * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
785 * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
786 * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
789 * include/experimental/numeric: Include <numeric>.
791 (gcd, lcm): Use __abs instead of std::abs.
792 * testsuite/experimental/numeric/77801.cc: New test.
793 * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
794 * testsuite/experimental/numeric/lcm.cc: Likewise.
796 2016-09-28 Jonathan Wakely <jwakely@redhat.com>
799 * include/std/functional (_Any_data): Add may_alias attribute.
801 2016-09-27 Jonathan Wakely <jwakely@redhat.com>
803 * include/debug/safe_iterator.h (_Safe_iterator::operator++()): Fix
806 2015-09-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
808 Backport from mainline
809 2015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
811 * config/cpu/m68k/atomicity.h: Adjust comment.
812 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
813 explicit atomicity_dir setup via configure.host.
814 * configure.host (rtems-*): Set atomicity_dir.
815 * configure: Regenerate.
817 2016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
819 Backport from mainline
820 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
822 Implement LWG 2729 for pair.
823 * include/bits/stl_pair.h (_PCC): New.
824 (_ConstructiblePair, _ImplicitlyConvertiblePair):
825 Turn into static member functions of _PCC.
826 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
828 (pair(const _T1&, const _T2&)): Adjust.
830 (pair(const pair<_U1, _U2>&)): Adjust.
831 (pair(_U1&&, const _T2&)): Likewise.
832 (pair(const _T1&, _U2&&)): Likewise.
833 (pair(_U1&&, _U2&&)): Likewise.
834 (pair(pair<_U1, _U2>&&)): Likewise.
835 (operator=(const pair&)): Make conditionally deleted.
836 (operator=(pair&&)): Make conditionally suppressed.
837 (operator=(const pair<_U1, _U2>&)): Constrain.
838 (operator=(pair<_U1, _U2>&&): Likewise.
839 * include/std/type_traits (__nonesuch): New.
840 * testsuite/20_util/pair/traits.cc: New.
842 2016-09-20 Jonathan Wakely <jwakely@redhat.com>
844 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
845 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
847 2016-09-19 Jonathan Wakely <jwakely@redhat.com>
850 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
851 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
852 division to int to work with Python 3.
855 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
857 (ListWorkerBase.get_value_from_node): Define new method.
858 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
860 2016-08-31 Ville Voutilainen <ville.voutilainen@gmail.com>
863 * include/std/type_traits (is_constructible): Forward-declare...
864 (__is_base_to_derived_ref): ...and use here.
865 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
866 * testsuite/20_util/is_constructible/77395.cc: New.
867 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
868 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
870 * testsuite/20_util/tuple/77395.cc: New.
872 2016-08-30 Jonathan Wakely <jwakely@redhat.com>
874 Backport from mainline
875 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
877 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
879 Backport from mainline
880 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
882 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
884 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
886 * testsuite/23_containers/map/77334.cc: Use dg-options for C++11.
888 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
891 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
892 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
893 * testsuite/23_containers/map/77334.cc: New test.
895 * doc/xml/api.xml: Replace hardcoded links for specific versions with
896 link to docs for all releases.
897 * doc/html/*: Regenerate.
899 * include/bits/stl_iterator.h
900 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Constrain
902 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
904 2016-08-22 Release Manager
906 * GCC 6.2.0 released.
908 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
910 Backport from mainline
911 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
913 * include/std/functional (function::_Callable): Use lvalue in
914 result_of expression.
915 * testsuite/20_util/function/cons/refqual.cc: New test.
917 Backport from mainline
918 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
921 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
922 * testsuite/23_containers/set/allocator/71964.cc: New test.
924 Backport from mainline
925 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
927 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
928 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
929 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
931 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
933 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
935 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
937 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
939 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
942 Backport from mainline
943 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
946 * include/experimental/memory_resource
947 (__resource_adaptor_imp::do_allocate): Do not default-construct
949 (__resource_adaptor_imp::do_deallocate): Likewise. Use
950 allocator_traits to get pointer type.
951 (__null_memory_resource::do_allocate): Remove unused parameters.
952 (__null_memory_resource::do_deallocate): Likewise.
953 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
954 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
955 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
957 * testsuite/experimental/memory_resource/1.cc: Here.
958 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
959 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
961 Backport from mainline
962 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
964 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
965 Define feature-test macro.
966 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
967 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
969 Backport from mainline
970 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
972 * include/bits/stl_function.h: Remove commented-out macro.
973 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
974 Define feature-test macro.
975 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
977 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
980 * doc/xml/manual/status_cxx2011.xml: Change "mainline GCC SVN" to
981 refer to the release series.
982 * doc/xml/manual/status_cxx2014.xml: Likewise. Update TS status.
983 * doc/xml/manual/status_cxx2017.xml: Likewise.
984 * doc/html/manual/status.html: Regenerate.
986 * include/experimental/propagate_const (propagate_const::__t): Rename
987 to _M_t and remove comment. Qualify std::move and std::forward.
988 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
990 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
992 * testsuite/lib/libstdc++.exp (v3-build_support): Add
993 -fno-lto to additional flags for compiling libtestc++.a objects.
995 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
997 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
998 * doc/html/manual/abi.html: Regenerate.
1000 2016-07-19 Jonathan Wakely <jwakely@redhat.com>
1002 Backport from mainline
1003 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
1005 * include/experimental/functional: Include <parallel/algorithm> in
1008 Backport from mainline
1009 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
1011 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
1015 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
1016 * include/parallel/balanced_quicksort.h: Include <unistd.h> for sleep.
1017 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
1020 Backport from mainline
1021 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
1024 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1025 Add or remove permissions according to perms argument.
1026 * testsuite/experimental/filesystem/operations/permissions.cc: New
1029 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1031 Implement LWG 2451, optional<T> should 'forward' T's
1032 implicit conversions.
1033 * include/experimental/optional (__is_optional_impl, __is_optional):
1035 (optional()): Make constexpr and default.
1036 (optional(_Up&&), optional(const optional<_Up>&),
1037 optional(optional<_Up>&& __t): New.
1038 (operator=(_Up&&)): Constrain.
1039 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
1040 * testsuite/experimental/optional/cons/value.cc:
1041 Add tests for the functionality added by LWG 2451.
1042 * testsuite/experimental/optional/cons/value_neg.cc: New.
1044 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1047 any_cast doesn't work with rvalue reference targets and cannot
1048 move with a value target.
1049 * include/experimental/any (any(_ValueType&&)): Constrain and
1050 add an overload that doesn't forward.
1051 (any_cast(any&&)): Constrain and add an overload that moves.
1052 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
1053 the functionality added by LWG 2509.
1055 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
1058 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
1059 Call remove_all for children of a directory.
1060 * testsuite/experimental/filesystem/operations/create_directories.cc:
1063 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
1066 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
1067 Remove irreflexive checks.
1068 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
1069 binary_search): Likewise.
1070 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
1071 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
1072 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
1073 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
1074 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
1075 Add constructor from array.
1077 2016-05-26 Jonathan Wakely <jwakely@redhat.com>
1079 Backport from mainline
1080 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
1083 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1084 static counter to return a different path on every call.
1086 * testsuite/experimental/filesystem/path/native/string.cc: Add
1087 dg-require-filesystem-ts directive.
1089 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
1091 Backport from mainline
1092 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
1095 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
1096 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
1098 Backport from mainline
1099 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
1102 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in)):
1103 Override endianness bit in mode.
1104 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
1105 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
1106 that little_endian mode is ignored.
1107 * testsuite/experimental/filesystem/path/native/string.cc: New test.
1109 Backport from mainline
1110 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1112 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
1113 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1114 Test begin and end functions.
1115 * testsuite/experimental/filesystem/iterators/
1116 recursive_directory_iterator.cc: Likewise.
1118 Backport from mainline
1119 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1122 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1123 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1125 Backport from mainline
1126 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1128 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1129 Overload operator* to move from rvalues.
1131 Backport from mainline
1132 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1135 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1136 * testsuite/experimental/filesystem/operations/create_directory.cc:
1139 Backport from mainline
1140 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1143 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
1144 base path to exception.
1145 * testsuite/experimental/filesystem/operations/canonical.cc: Test
1146 paths contained in exception.
1148 Backport from mainline
1149 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1152 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1154 (directory_iterator::operator++(int)): Return proxy.
1155 (recursive_directory_iterator::operator++(int)): Likewise.
1156 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1157 Test post-increment.
1158 * testsuite/experimental/filesystem/iterators/
1159 recursive_directory_iterator.cc: Likewise.
1161 Backport from mainline
1162 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1165 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1166 Initialize scalar member variables in default constructor.
1167 * testsuite/experimental/filesystem/iterators/
1168 recursive_directory_iterator.cc: Test default construction.
1170 Backport from mainline
1171 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
1174 * src/filesystem/ops.cc (close_fd): New function.
1175 (do_copy_file): Set permissions before copying file contents. Check
1176 result of closing file descriptors. Don't copy streambuf when file
1178 (copy(const path&, const path&, copy_options, error_code&)): Use
1179 lstat for source file when copy_symlinks is set.
1180 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
1182 Backport from mainline
1183 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
1185 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
1186 operator~ operator&=, operator|=, operator^=): Add noexcept to
1187 overloaded operators for copy_options, perms and directory_options.
1188 * src/filesystem/ops.cc (make_file_type, make_file_status,
1189 is_not_found_errno, file_time): Add noexcept.
1191 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
1194 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
1195 exception constructors with __sso_string parameters.
1197 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1199 Avoid endless run-time recursion for copying single-element
1200 tuples where the element type is by-value constructible
1202 * include/std/tuple (_NotSameTuple): New.
1203 * include/std/tuple (tuple(_UElements&&...): Use it.
1204 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
1206 2016-04-27 Release Manager
1208 * GCC 6.1.0 released.
1210 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
1212 * include/bits/random.h: Fix filename in comment.
1214 2016-04-14 Jason Merrill <jason@redhat.com>
1216 Revert Jonathan's empty ABI change from yesterday.
1218 2016-04-13 Martin Sebor <msebor@redhat.com>
1221 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1222 upper bound is positive.
1224 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
1226 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
1227 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
1228 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
1229 of functions taking empty structs by value. Add a template parameter
1230 to overloads without hints. Rename overloads with hints to
1232 (_Hashtable::_M_erase(true_type, const_iterator),
1233 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
1234 by reordering parameters.
1235 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
1236 _M_emplace_hint instead of _M_emplace.
1237 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
1238 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
1239 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
1240 __shared_ptr): Likewise.
1241 * include/bits/stl_algo.h (replace_if): Likewise.
1242 * include/bits/stl_pair.h (piecewise_construct_t,
1243 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
1244 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
1245 __uses_alloc0): Likewise.
1246 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
1247 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
1248 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
1249 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1250 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
1251 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
1252 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
1254 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
1256 Document C++17/TR29124 C++ Special Math Functions.
1257 * include/bits/specfun.h: Add Doxygen markup.
1259 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
1261 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
1263 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
1265 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
1266 * src/Makefile.in: Regenerate.
1268 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
1271 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
1272 __atomic_fetch_add for bool.
1273 * configure: Regenerate.
1275 * testsuite/30_threads/thread/70503.cc: Require -static to work.
1278 * src/c++11/thread.cc (execute_native_thread_routine,
1279 execute_native_thread_routine_compat): Give internal linkage.
1280 * testsuite/30_threads/thread/70503.cc: New test.
1282 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1285 * include/bits/stl_pair.h (_ConstructiblePair,
1286 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
1287 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
1288 for same-type cases.
1289 * testsuite/20_util/pair/70437.cc: New.
1291 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
1294 * config/abi/pre/gnu.ver: Add new symbol.
1295 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
1296 * testsuite/18_support/free_eh_pool.cc: New test.
1298 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1300 * include/Makefile.am (install-freestanding-headers): Add
1301 concept_check.h and move.h to the installed headers.
1302 * include/Makefile.in: Regenerated.
1303 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
1304 freestanding implementations.
1305 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
1306 that this macro has no effect for freestanding implementations.
1307 * doc/html/manual/using_macros.html: Likewise.
1309 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
1312 * include/experimental/tuple (__apply_impl): Qualify get and forward.
1314 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
1316 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
1317 * doc/html/*: Regenerate.
1320 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
1321 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
1322 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
1323 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
1324 trunc) [__cplusplus >= 201103L]: Import from namespace std.
1325 (fabs) [__cplusplus < 201103L]: Import from namespace std.
1326 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
1328 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
1329 namespace before including TR1 headers.
1330 * testsuite/tr1/headers/c++200x/math.cc: New test.
1332 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1335 * include/c_global/cstdarg: Undefine __need___va_list.
1336 * include/c_global/cstddef: Undefine all kinds of __need_*.
1338 2016-02-16 Tim Shen <timshen@google.com>
1341 * include/bits/regex_scanner.h: Add different special character
1342 sets for grep and egrep regex.
1343 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
1344 * testsuite/28_regex/regression.cc: Add new testcase.
1346 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
1348 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
1349 added 'constexpr' in previous commit.
1350 * configure: Regenerate.
1353 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
1354 checks for all targets except *-*-solaris2.* and ensure we find the
1355 libc math.h header not our own.
1356 * configure: Regenerate.
1358 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
1360 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
1361 New file. Copied over from s390-linux-gnu.
1363 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
1366 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
1367 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
1368 * config.h.in: Regenerate.
1369 * configure: Regenerate.
1370 * testsuite/21_strings/c_strings/char/69626.cc: New.
1372 * doc/html/index.html: Regenerate.
1374 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
1375 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
1376 * doc/html/*: Regenerate.
1378 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
1381 * include/c_compatibility/math.h: Move header guards.
1382 * include/c_compatibility/stdlib.h: Likewise.
1384 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
1387 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1389 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
1392 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
1393 isinf and isnan functions into two independent checks. Check on hpux.
1394 * config.h.in: Regenerate.
1395 * configure: Regenerate.
1396 * include/c_global/cmath (isinf(double), isnan(double)): Use
1397 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
1400 2016-01-27 Jakub Jelinek <jakub@redhat.com>
1402 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
1404 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
1407 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
1408 -ffp-contract=off, and -ffloat-store to disable excess precision.
1409 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
1412 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
1415 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
1416 random_access_iterator_tag>): Check is_move_assignable when moving.
1417 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
1419 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
1420 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
1421 * testsuite/25_algorithms/move/69478.cc: New.
1422 * testsuite/25_algorithms/move_backward/69478.cc: new.
1424 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
1426 * include/c_compatibility/stdlib.h: Include wide character related
1427 definitions only when they are available in cstdlib.
1429 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
1432 * include/Makefile.am: Add new header.
1433 * include/Makefile.in: Regenerate.
1434 * include/bits/random.h (uniform_int_distribution): Move to
1435 bits/uniform_int_dist.h.
1436 * include/bits/random.tcc (uniform_int_distribution::operator(),
1437 uniform_int_distribution::__generate_impl): Likewise.
1438 * include/bits/uniform_int_dist.h: New header.
1439 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
1440 <bits/uniform_int_dist.h> instead of <random>.
1441 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1442 move_iterators/1.cc: Include correct header for uninitialized_copy.
1443 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
1444 move_iterators/1.cc: Likewise.
1445 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
1447 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
1449 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
1452 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1454 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
1456 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
1457 * include/c_compatibility/math.h: Import the TR29124 functions
1458 into the global namespace.
1459 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
1460 xfail and make compile-only.
1461 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
1462 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
1463 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
1464 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
1465 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
1466 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
1467 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
1468 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
1469 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
1470 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
1471 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
1472 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
1473 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
1474 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
1475 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
1476 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
1477 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
1478 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
1479 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
1480 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
1482 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
1485 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
1486 define result_type for types which can be safely used with valarrays.
1487 * testsuite/26_numerics/valarray/69116.cc: New.
1490 * config/os/gnu-linux/os_defines.h: Define
1491 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
1492 * include/c_global/cmath (isinf, isnan): Check it.
1493 * doc/xml/manual/internals.xml: Document it.
1494 * doc/html/*: Regenerate.
1496 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
1499 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
1500 * include/ext/type_traits.h: Likewise.
1501 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
1502 for presence of C headers.
1503 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
1504 dg-error line number.
1505 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
1506 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
1507 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
1509 2016-01-20 Torvald Riegel <triegel@redhat.com>
1512 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1514 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
1517 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
1518 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
1519 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
1520 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
1521 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
1522 Add using declarations.
1523 * testsuite/26_numerics/headers/cmath/60401.cc: New.
1526 * include/c_global/ccomplex: Ensure C++ language linkage.
1527 * include/c_global/cmath: Likewise.
1528 * include/c_global/cstdlib: Likewise.
1529 * include/c_global/ctgmath: Likewise.
1530 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
1532 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
1536 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
1537 --enable-cheaders=c_global configs.
1538 * include/Makefile.in: Regenerate.
1539 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
1540 test and allow inclusion from C files.
1541 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
1542 (at_quick_exit, quick_exit): Add using directives.
1543 * include/c_global/cmath: Use #include_next for math.h.
1544 * include/c_global/cstdlib: Use #include_next for stdlib.h.
1545 * testsuite/26_numerics/headers/cmath/14608.cc: New.
1546 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1547 Remove xfail for most targets.
1548 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
1550 2016-01-18 Torvald Riegel <triegel@redhat.com>
1552 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
1553 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
1554 and move after its definition.
1555 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
1556 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
1557 __GXX_WEAK__, and only provide transactional clones if
1558 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
1561 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
1564 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
1567 * include/std/functional (_Function_base::_M_not_empty_function):
1568 Change overloads for pointers to take arguments by value.
1569 * testsuite/20_util/function/cons/57465.cc: Add tests for
1570 pointer-to-member cases.
1573 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
1574 Use macros for exception handling and fix unused parameter warning.
1576 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
1579 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1581 2016-01-17 Torvald Riegel <triegel@redhat.com>
1583 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
1585 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
1587 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
1590 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
1593 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
1594 static assertion that type is constructible from the arguments.
1595 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
1596 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
1597 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1600 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1601 and isnan on AIX. Quote variables.
1602 * configure: Regenerate.
1604 2016-01-15 Torvald Riegel <triegel@redhat.com>
1606 * include/bits/basic_string.h (basic_string): Declare friends.
1607 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
1608 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
1609 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
1610 length_error, out_of_range, runtime_error, range_error,
1611 underflow_error, overflow_error): Declare members as transaction-safe.
1612 (logic_error, runtime_error): Declare friend functions.
1613 * libsupc++/exception (exception, bad_exception): Declare members as
1615 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
1616 transaction-safe members of exceptions and helper functions.
1617 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
1618 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
1619 (CXXABI_1.3.10): New.
1620 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
1621 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
1622 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
1623 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
1624 * include/Makefile.in: Regenerate.
1625 * config.h.in: Regenerate.
1626 * configure: Regenerate.
1627 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
1629 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
1631 * include/ext/random.tcc: Use __builtin_isfinite instead of
1634 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
1636 * include/bits/std_mutex.h: Fix Doxygen @file name.
1638 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
1639 Jonathan Wakely <jwakely@redhat.com>
1640 Florian Goth <CaptainSifff@gmx.de>
1642 Implement TR29124 C++ special Math Functions.
1643 * include/Makefile.am: Add new headers.
1644 * include/Makefile.in: Regenerate.
1645 * include/bits/specfun.h: New.
1646 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
1647 * include/tr1/bessel_function.tcc: Ditto.
1648 * include/tr1/beta_function.tcc: Ditto.
1649 * include/tr1/cmath: Ditto.
1650 * include/tr1/ell_integral.tcc: Ditto.
1651 * include/tr1/exp_integral.tcc: Ditto.
1652 * include/tr1/gamma.tcc: Ditto.
1653 * include/tr1/hypergeometric.tcc: Ditto.
1654 * include/tr1/legendre_function.tcc: Ditto.
1655 * include/tr1/modified_bessel_func.tcc: Ditto.
1656 * include/tr1/poly_hermite.tcc: Ditto.
1657 * include/tr1/poly_laguerre.tcc: Ditto.
1658 * include/tr1/riemann_zeta.tcc: Ditto.
1659 * include/tr1/special_function_util.h: Ditto.
1660 * testsuite/ext/special_functions/conf_hyperg: New.
1661 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
1662 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
1663 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
1664 * testsuite/ext/special_functions/hyperg: New.
1665 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
1666 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
1667 * testsuite/ext/special_functions/hyperg/compile.cc: New.
1668 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
1669 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
1670 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
1671 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
1672 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
1673 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
1674 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
1675 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
1676 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
1677 * testsuite/special_functions/03_beta/check_nan.cc: New.
1678 * testsuite/special_functions/03_beta/check_value.cc: New.
1679 * testsuite/special_functions/03_beta/compile.cc: New.
1680 * testsuite/special_functions/03_beta/compile_2.cc: New.
1681 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
1682 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
1683 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
1684 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
1685 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
1686 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
1687 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
1688 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
1689 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
1690 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
1691 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
1692 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
1693 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
1694 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
1695 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
1696 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
1697 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
1698 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
1699 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
1700 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
1701 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
1702 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
1703 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
1704 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
1705 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
1706 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
1707 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
1708 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
1709 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
1710 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
1711 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
1712 * testsuite/special_functions/11_ellint_1/compile.cc: New.
1713 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
1714 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
1715 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
1716 * testsuite/special_functions/12_ellint_2/compile.cc: New.
1717 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
1718 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
1719 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
1720 * testsuite/special_functions/13_ellint_3/compile.cc: New.
1721 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
1722 * testsuite/special_functions/14_expint/check_nan.cc: New.
1723 * testsuite/special_functions/14_expint/check_value.cc: New.
1724 * testsuite/special_functions/14_expint/compile.cc: New.
1725 * testsuite/special_functions/14_expint/compile_2.cc: New.
1726 * testsuite/special_functions/15_hermite/check_nan.cc: New.
1727 * testsuite/special_functions/15_hermite/check_value.cc: New.
1728 * testsuite/special_functions/15_hermite/compile.cc: New.
1729 * testsuite/special_functions/15_hermite/compile_2.cc: New.
1730 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
1731 * testsuite/special_functions/16_laguerre/check_value.cc: New.
1732 * testsuite/special_functions/16_laguerre/compile.cc: New.
1733 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
1734 * testsuite/special_functions/17_legendre/check_nan.cc: New.
1735 * testsuite/special_functions/17_legendre/check_value.cc: New.
1736 * testsuite/special_functions/17_legendre/compile.cc: New.
1737 * testsuite/special_functions/17_legendre/compile_2.cc: New.
1738 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
1739 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
1740 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
1741 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
1742 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
1743 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
1744 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
1745 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
1746 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
1747 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
1748 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
1749 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
1750 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
1751 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
1752 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
1753 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
1754 * testsuite/util/specfun_testcase.h: New.
1755 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
1756 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
1757 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
1758 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
1759 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
1760 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
1761 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
1763 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
1766 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1767 and isnan functions.
1768 * config.h.in: Regenerate.
1769 * configure: Regenerate.
1770 * include/c_global/cmath (isinf(double), isnan(double))
1771 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
1772 * testsuite/26_numerics/headers/cmath/48891.cc: New.
1774 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1777 * configure.host (abi_baseline_pair): Use separate baseline for
1778 Solaris 11+ and Solaris 10 with gld.
1779 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
1780 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
1781 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
1783 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
1786 * include/std/type_traits: Following N4511, reimplement __is_swappable
1787 and __is_nothrow_swappable. Move __is_swappable to namespace std,
1788 adjust callers. Use __is_nothrow_swappable in swap.
1789 * include/bits/move.h: Use __is_nothrow_swappable in swap.
1790 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
1791 __is_swappable related tests.
1792 * testsuite/20_util/is_swappable/value.cc: New.
1793 * testsuite/20_util/is_swappable/requirements/
1794 explicit_instantiation.cc: New.
1795 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
1796 * testsuite/25_algorithms/swap/68877.cc: New.
1798 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
1800 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
1804 * include/std/functional (function::_Invoke): Remove, use result_of.
1805 (function::_Callable): Replace alias template with class template
1806 and use partial specialization instead of _NotSelf alias template.
1807 (function(_Functor)): Add "not self" constraint so that _Callable is
1808 not used while type is incomplete.
1809 * testsuite/20_util/function/69222.cc: New.
1811 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
1814 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
1815 Define partial specialization.
1816 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
1817 destroy members to std::allocator explicit specialization.
1819 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
1821 * testsuite/26_numerics/headers/cmath/
1822 c99_classification_macros_c++.cc: Rename to ...
1823 * testsuite/26_numerics/headers/cmath/
1824 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
1825 * testsuite/26_numerics/headers/cmath/
1826 c99_classification_macros_c++0x.cc: Rename to ...
1827 * testsuite/26_numerics/headers/cmath/
1828 c99_classification_macros_c++11.cc: Here.
1831 * include/bits/uses_allocator.h: Add missing include.
1833 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
1838 * include/bits/stl_iterator.h (back_insert_iterator,
1839 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
1840 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
1841 * include/std/future (__future::base::_State_baseV2::__setter):
1843 * include/std/scoped_allocator (__outermost): Likewise.
1844 * testsuite/20_util/scoped_allocator/69114.cc: New.
1845 * testsuite/20_util/uses_allocator/69114.cc: New.
1846 * testsuite/30_threads/promise/69106.cc: New.
1848 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
1851 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
1852 Remove _GLIBCXX_NOEXCEPT.
1853 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
1855 * include/Makefile.am: Adjust.
1856 * include/Makefile.in: Regenerate.
1857 * include/bits/mutex.h: Rename to bits/std_mutex.h.
1858 * include/std/condition_variable: Adjust include.
1859 * include/std/mutex: Likewise.
1861 2016-01-04 Jakub Jelinek <jakub@redhat.com>
1863 Update copyright years.
1865 Copyright (C) 2016 Free Software Foundation, Inc.
1867 Copying and distribution of this file, with or without modification,
1868 are permitted in any medium without royalty provided the copyright
1869 notice and this notice are preserved.