libstdc++/68877 Reimplement std::__is_swappable
[gcc.git] / libstdc++-v3 / ChangeLog
1 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
2
3 PR libstdc++/68877
4 * include/std/type_traits: Following N4511, reimplement __is_swappable
5 and __is_nothrow_swappable. Move __is_swappable to namespace std,
6 adjust callers. Use __is_nothrow_swappable in swap.
7 * include/bits/move.h: Use __is_nothrow_swappable in swap.
8 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9 __is_swappable related tests.
10 * testsuite/20_util/is_swappable/value.cc: New.
11 * testsuite/20_util/is_swappable/requirements/
12 explicit_instantiation.cc: New.
13 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
14 * testsuite/25_algorithms/swap/68877.cc: New.
15
16 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
17
18 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
19
20 PR libstdc++/69005
21 PR libstdc++/69222
22 * include/std/functional (function::_Invoke): Remove, use result_of.
23 (function::_Callable): Replace alias template with class template
24 and use partial specialization instead of _NotSelf alias template.
25 (function(_Functor)): Add "not self" constraint so that _Callable is
26 not used while type is incomplete.
27 * testsuite/20_util/function/69222.cc: New.
28
29 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
30
31 PR libstdc++/60976
32 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
33 Define partial specialization.
34 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
35 destroy members to std::allocator explicit specialization.
36
37 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
38
39 * testsuite/26_numerics/headers/cmath/
40 c99_classification_macros_c++.cc: Rename to ...
41 * testsuite/26_numerics/headers/cmath/
42 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
43 * testsuite/26_numerics/headers/cmath/
44 c99_classification_macros_c++0x.cc: Rename to ...
45 * testsuite/26_numerics/headers/cmath/
46 c99_classification_macros_c++11.cc: Here.
47
48 PR libstdc++/69190
49 * include/bits/uses_allocator.h: Add missing include.
50
51 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
52
53 PR libstdc++/69105
54 PR libstdc++/69106
55 PR libstdc++/69114
56 * include/bits/stl_iterator.h (back_insert_iterator,
57 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
58 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
59 * include/std/future (__future::base::_State_baseV2::__setter):
60 Likewise.
61 * include/std/scoped_allocator (__outermost): Likewise.
62 * testsuite/20_util/scoped_allocator/69114.cc: New.
63 * testsuite/20_util/uses_allocator/69114.cc: New.
64 * testsuite/30_threads/promise/69106.cc: New.
65
66 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
67
68 PR libstdc++/69092
69 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
70 Remove _GLIBCXX_NOEXCEPT.
71 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
72
73 * include/Makefile.am: Adjust.
74 * include/Makefile.in: Regenerate.
75 * include/bits/mutex.h: Rename to bits/std_mutex.h.
76 * include/std/condition_variable: Adjust include.
77 * include/std/mutex: Likewise.
78
79 2016-01-04 Jakub Jelinek <jakub@redhat.com>
80
81 Update copyright years.
82 \f
83 Copyright (C) 2016 Free Software Foundation, Inc.
84
85 Copying and distribution of this file, with or without modification,
86 are permitted in any medium without royalty provided the copyright
87 notice and this notice are preserved.