Update ChangeLog and version files for release
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob1ceed956cf5fd90d6d71c638326f2c47b47e19d3
1 2016-12-21  Release Manager
3         * GCC 6.3.0 released.
5 2016-12-12  Jonathan Wakely  <jwakely@redhat.com>
7         Backport from mainline
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>
35         PR libstdc++/78465
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
67         PR libstdc++/70975
68         PR libstdc++/71337
69         PR libstdc++/78111
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
76         (LWG 2725).
77         * include/experimental/bits/fs_path.h (__is_path_src)
78         (_S_range_begin, _S_range_end): Overload to treat string_view as a
79         Source object.
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
93         error.
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.
102         (close_fd): Remove.
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
111         resolutions.
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
115         file_time calls.
116         (last_write_time(const path&, file_time_type, error_code&)): Handle
117         negative times correctly.
118         (permissions(const path&, perms, error_code&)): Handle
119         symlink_nofollow.
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
123         operations.
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:
141         New.
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:
151         New.
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>
164         PR libstdc++/71856
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
172         empty.
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>
181         PR libstdc++/77459
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>
190         PR libstdc++/78326
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:
200         Likewise.
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:
229         New test.
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
234         test.
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
291         is_always_equal.
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>
314         PR libstdc++/51960
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.
325         (__invfwd): Adjust.
326         (__invoke_impl): Remove unused template parameters.
327         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
328         parameter.
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.
341         (_Has_addressof_mem)
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
424         effective-target.
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>
432         PR libstdc++/78490
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
443         of -j argument.
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:
457         Likewise.
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:
461         Likewise.
462         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
463         Likewise.
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:
508         Likewise.
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.
540         PR libstdc++/77288
541         PR libstdc++/77727
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>
561         PR libstdc++/78052
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
569         to new file.
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.
574         PR libstdc++/77990
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>
583         PR libstdc++/77987
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
594         conversion.
596 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
598         * testsuite/20_util/function/77322.cc: Remove effective-target from
599         dg-do directive.
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
632         instead of assert.
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
649         with _GLIBCXX_STD_C.
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
657         declval.
659 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
661         Backport from mainline:
662         2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
664         PR libstdc++/77322
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>
683         PR libstdc++/72820
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>
690         PR libstdc++/77994
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>
697         PR libstdc++/70101
698         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
699         constructors.
700         * testsuite/23_containers/priority_queue/allocator.cc: New test.
702         PR libstdc++/77864
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:
709         New test.
710         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
711         Likewise.
712         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
713         Likewise.
714         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
715         Likewise.
717         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
718         alias declaration.
720         PR libstdc++/70564
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>
729         PR libstdc++/68323
730         PR libstdc++/77794
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
738         for PR c++/59256.
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
744         namespaces.
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:
768         Likewise.
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>
778         PR libstdc++/77795
779         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
780         for gets.
781         * config.h.in: Regenerate.
782         * configure: Regenerate.
783         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
784         for C++98 and C++11.
785         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
786         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
788         PR libstdc++/77801
789         * include/experimental/numeric: Include <numeric>.
790         (__abs): Define.
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>
798         PR libstdc++/77686
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
804         lifetime of lock.
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.
827         (_PCCP): New.
828         (pair(const _T1&, const _T2&)): Adjust.
829         (_PCCFP): New.
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>
849         PR libstdc++/77645
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.
854         PR libstdc++/77645
855         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
856         argument.
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>
862         PR libstdc++/77395
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:
869         Likewise.
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>
890         PR libstdc++/77334
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
901         for C++11 and later.
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>
920         PR libstdc++/71964
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:
930         Likewise.
931         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
932         Likewise.
933         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
934         Likewise.
935         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
936         Likewise.
937         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
938         Likewise.
939         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
940         Likewise.
942         Backport from mainline
943         2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
945         PR libstdc++/70940
946         * include/experimental/memory_resource
947         (__resource_adaptor_imp::do_allocate): Do not default-construct
948         rebound allocator.
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
956         move to ...
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
978         comments.
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
1006         Parallel Mode.
1008         Backport from mainline
1009         2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
1011         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
1012         for std::search.
1014         PR libstdc++/71856
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):
1018         Do not define here.
1020         Backport from mainline
1021         2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
1023         PR libstdc++/71320
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
1027         test.
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):
1034         New.
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>
1046         Implement LWG 2509,
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>
1057         PR libstdc++/71313
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:
1061         Adjust.
1063 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
1065         PR libstdc++/71545
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>
1082         PR libstdc++/70762
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>
1094         PR libstdc++/69703
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>
1101         PR libstdc++/69703
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>
1121         PR libstdc++/71038
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>
1134         PR libstdc++/71036
1135         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1136         * testsuite/experimental/filesystem/operations/create_directory.cc:
1137         New test.
1139         Backport from mainline
1140         2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
1142         PR libstdc++/71037
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>
1151         PR libstdc++/71005
1152         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1153         New type.
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>
1164         PR libstdc++/71004
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>
1173         PR libstdc++/70609
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
1177         is empty.
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>
1193         PR libstdc++/71049
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
1201         from any type.
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>
1220         PR c++/69517
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
1231         _M_emplace_hint.
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>
1270         PR libstdc++/70554
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.
1277         PR libstdc++/70503
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>
1284         PR libstdc++/70437
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>
1293         PR libstdc++/69945
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>
1311         PR libstdc++/69939
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.
1319         PR libstdc++/69893
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]:
1327         Likewise.
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>
1334         PR libstdc++/69881
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>
1340         PR libstdc++/69794
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.
1352         PR libstdc++/48891
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>
1365         PR libstdc++/69626
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>
1380         PR libstdc++/69581
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>
1386         PR libstdc++/69506
1387         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1389 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
1391         PR libstdc++/69450
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,
1398         respectively.
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>
1406         PR libstdc++/69295
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
1410         -ffp-contract=off.
1412 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
1414         PR libstdc++/69478
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>):
1418         Likewise.
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>
1431         PR libstdc++/69464
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
1446         header for vector.
1447         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
1449 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
1451         PR libstdc++/69446
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>
1484         PR libstdc++/69116
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.
1489         PR libstdc++/69413
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>
1498         PR libstdc++/69406
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>
1511         PR libstdc++/69310
1512         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1514 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
1516         PR libstdc++/60401
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.
1525         PR libstdc++/69386
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>
1534         PR libstdc++/14608
1535         PR libstdc++/60401
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
1559         functions.
1561 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
1563         PR libstdc++/60637
1564         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
1566         PR libstdc++/69243
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.
1572         PR libstdc++/69340
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>
1578         PR libstdc++/68734
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
1588         __int128 symbols.
1590 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
1592         PR libstdc++/69293
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.
1599         PR libstdc++/69294
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
1614         transaction-safe.
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
1632         std::isfinite.
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>
1765         PR libstdc++/48891
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>
1776         PR libstdc++/66006
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>
1785         PR libstdc++/68877
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.
1802         PR libstdc++/69005
1803         PR libstdc++/69222
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>
1813         PR libstdc++/60976
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.
1830         PR libstdc++/69190
1831         * include/bits/uses_allocator.h: Add missing include.
1833 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
1835         PR libstdc++/69105
1836         PR libstdc++/69106
1837         PR libstdc++/69114
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):
1842         Likewise.
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>
1850         PR libstdc++/69092
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.