]>
Commit | Line | Data |
---|---|---|
4db1cb44 ESR |
1 | 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net> |
2 | ||
3 | Implement C++17 P0025 clamp. | |
4 | * include/bits/algorithmfwd.h: Declare clamp overloads. | |
5 | * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp. | |
6 | * testsuite/25_algorithms/clamp/1.cc: New test. | |
7 | * testsuite/25_algorithms/clamp/2.cc: New test. | |
8 | * testsuite/25_algorithms/clamp/constexpr.cc: New test. | |
9 | * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/ | |
10 | 1.cc: New test. | |
11 | * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/ | |
12 | pod.cc: New test. | |
13 | ||
1ec0f763 VV |
14 | 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com> |
15 | ||
16 | Fix the constraints for any's assignment operator template to properly | |
17 | reject assignment from a non-copyable lvalue. | |
18 | * include/std/any (operator=(_ValueType&&)): Constrain the decayed | |
19 | type for is_copy_constructible, | |
20 | * testsuite/20_util/any/requirements.cc: Add a test for | |
21 | non-copyable lvalues. | |
22 | ||
0a2bf188 JW |
23 | 2016-07-14 Jonathan Wakely <jwakely@redhat.com> |
24 | ||
ea5ec6b7 JW |
25 | * include/experimental/functional: Include <parallel/algorithm> in |
26 | Parallel Mode. | |
27 | ||
47d5cb3c JW |
28 | * testsuite/experimental/functional/searchers.cc: Include <algorithm> |
29 | for std::search. | |
30 | ||
0a2bf188 JW |
31 | PR libstdc++/70716 |
32 | * include/bits/forward_list.h (forward_list): Update doxygen comments | |
33 | to reflect allocator propagation semantics. Remove ambiguous | |
34 | statements about data being lost. | |
35 | * include/bits/stl_deque.h (deque): Likewise. | |
36 | * include/bits/stl_list.h (list): Likewise. | |
37 | * include/bits/stl_map.h (map): Likewise. | |
38 | * include/bits/stl_multimap.h (multimap): Likewise. | |
39 | * include/bits/stl_multiset.h (multiset): Likewise. | |
40 | * include/bits/stl_set.h (set): Likewise. | |
41 | * include/bits/stl_vector.h (vector): Likewise. | |
42 | * include/bits/unordered_map.h (unordered_map, unordered_multimap): | |
43 | Likewise. | |
44 | * include/bits/unordered_set.h (unordered_set, unordered_multiset): | |
45 | Likewise. | |
46 | ||
25a69162 VV |
47 | 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com> |
48 | ||
49 | Implement P0032R3, Homogeneous interface for variant, any and optional, | |
50 | for the parts concerning any and optional. | |
51 | * include/std/any (_Storage()): Make constexpr and have it | |
52 | initialize _M_ptr. | |
53 | (any()): Make constexpr. | |
54 | (any(const any&)): Adjust. | |
55 | (any(any&&)): Likewise. | |
56 | (__any_constructible_t): New. | |
57 | (any(_ValueType&&)): Constrain. | |
58 | (any(in_place_type_t<_Tp>, _Args&&...)): New. | |
59 | (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)): | |
60 | Likewise. | |
61 | (~any()): Adjust. | |
62 | (operator=(const any&)): Likewise. | |
63 | (operator=(any&&)): Likewise. | |
64 | (operator=(_ValueType&&)): Constrain. | |
65 | (emplace(_Args&&...)): New. | |
66 | (emplace(initializer_list<_Up>, _Args&&...)): Likewise. | |
67 | (clear()): Remove. | |
68 | (reset()): New. | |
69 | (swap(any&)): Adjust. | |
70 | (empty()): Remove. | |
71 | (has_value()): New. | |
72 | (type()): Adjust. | |
73 | (_Manager_internal::_S_create(_Storage&, _Args&&...)): New. | |
74 | (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise. | |
75 | (make_any(_Args&&...)): Likewise. | |
76 | (make_any(initializer_list<_Up>, _Args&&...)): Likewise. | |
77 | * include/std/optional (in_place_t, in_place): Remove. | |
78 | (bad_optional_access): Add a comment referring to LEWG 72. | |
79 | (emplace(_Args&&...)): Constrain. | |
80 | (has_value()): New. | |
81 | (reset()): Likewise. | |
82 | (make_optional(_Args&&...)): Likewise. | |
83 | (make_optional(initializer_list<_Up>, _Args&&...)): Likewise. | |
84 | * include/std/utility (in_place_tag): New. | |
85 | (__in_place, __in_place_type, __in_place_index): Likewise. | |
86 | (in_place_t, in_place_type_t, in_place_index_t): Likewise. | |
87 | (in_place(__in_place*)): Likewise. | |
88 | (in_place(__in_place_type<_Tp>*)): Likewise. | |
89 | (in_place(__in_place_index<_Idx>*)): Likewise. | |
90 | * testsuite/20_util/any/assign/1.cc: Adjust. | |
91 | * testsuite/20_util/any/assign/emplace.cc: New. | |
92 | * testsuite/20_util/any/assign/self.cc: Adjust. | |
93 | * testsuite/20_util/any/cons/1.cc: Likewise. | |
94 | * testsuite/20_util/any/cons/in_place.cc: New. | |
95 | * testsuite/20_util/any/make_any.cc: Likewise. | |
96 | * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. | |
97 | * testsuite/20_util/any/misc/swap.cc: Likewise. | |
98 | * testsuite/20_util/any/modifiers/1.cc: Likewise. | |
99 | * testsuite/20_util/any/requirements.cc: New. | |
100 | * testsuite/20_util/in_place/requirements.cc: Likewise. | |
101 | * testsuite/20_util/optional/constexpr/in_place.cc: Adjust. | |
102 | * testsuite/20_util/optional/in_place.cc: Likewise. | |
103 | * testsuite/20_util/optional/make_optional.cc: Add tests for | |
104 | the new overloads of make_optional. | |
105 | ||
c0d31471 VV |
106 | 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com> |
107 | ||
108 | Implement P0307R2, Making Optional Greater Equal Again. | |
109 | * include/experimental/optional (_Has_addressof): Fix the comment. | |
110 | * include/std/optional (_Has_addressof): Likewise. | |
111 | (operator=(_Up&&)): Constrain. | |
112 | (operator=(const optional<_Up>&)): Likewise. | |
113 | (operator=(optional<_Up>&&)): Likewise. | |
114 | (__optional_relop_t): New. | |
115 | (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain. | |
116 | (operator!=(const optional<_Tp>&, const optional<_Tp>&)): | |
117 | Constrain and make transparent. | |
118 | (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain. | |
119 | (operator>(const optional<_Tp>&, const optional<_Tp>&)): | |
120 | Constrain and make transparent. | |
121 | (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. | |
122 | (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. | |
123 | (operator==(const optional<_Tp>&, const _Tp&): Constrain. | |
124 | (operator==(const _Tp&, const optional<_Tp>&)): Likewise. | |
125 | (operator!=(const optional<_Tp>&, _Tp const&)): | |
126 | Constrain and make transparent. | |
127 | (operator!=(const _Tp&, const optional<_Tp>&)): Likewise. | |
128 | (operator<(const optional<_Tp>&, const _Tp&)): Constrain. | |
129 | (operator<(const _Tp&, const optional<_Tp>&)): Likewise. | |
130 | (operator>(const optional<_Tp>&, const _Tp&)): | |
131 | Constrain and make transparent. | |
132 | (operator>(const _Tp&, const optional<_Tp>&)): Likewise. | |
133 | (operator<=(const optional<_Tp>&, const _Tp&)): Likewise. | |
134 | (operator<=(const _Tp&, const optional<_Tp>&)): Likewise. | |
135 | (operator>=(const optional<_Tp>&, const _Tp&)): Likewise. | |
136 | (operator>=(const _Tp&, const optional<_Tp>&)): Likewise. | |
137 | * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust. | |
138 | * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. | |
139 | * testsuite/20_util/optional/relops/1.cc: Likewise. | |
140 | * testsuite/20_util/optional/relops/2.cc: Likewise. | |
141 | * testsuite/20_util/optional/relops/3.cc: Likewise. | |
142 | * testsuite/20_util/optional/relops/4.cc: Likewise. | |
143 | * testsuite/20_util/optional/requirements.cc: Add tests to verify | |
144 | that optional's relops are transparent and don't synthesize | |
145 | operators. Also test that assignment sfinaes. | |
146 | ||
260d92cd JW |
147 | 2016-07-13 Jonathan Wakely <jwakely@redhat.com> |
148 | ||
e383deac JW |
149 | PR libstdc++/71856 |
150 | * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty. | |
151 | * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS): | |
152 | Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend | |
153 | on _GLIBCXX_ASSERTIONS. | |
154 | * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS. | |
155 | Include <unistd.h> for sleep. | |
156 | * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS. | |
157 | * include/parallel/merge.h: Likewise. | |
158 | * include/parallel/multiway_merge.h: Likewise. | |
159 | * include/parallel/partition.h: Likewise. | |
160 | * include/parallel/queue.h: Likewise. | |
161 | * include/parallel/sort.h: Likewise. | |
162 | * testsuite/25_algorithms/headers/algorithm/ | |
163 | parallel_algorithm_assert.cc: New. | |
164 | ||
17f8dc93 JW |
165 | * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] |
166 | (replace(__const_iterator, __const_iterator, initializer_list<C>)): | |
167 | Forward to different overload. | |
168 | ||
260d92cd JW |
169 | * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make |
170 | static. | |
171 | ||
2d60da10 JW |
172 | 2016-07-13 Jonathan Wakely <jwakely@redhat.com> |
173 | ||
174 | Revert "Add non-const overload of std::string::data()". | |
175 | ||
05505e9d VV |
176 | 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com> |
177 | ||
86c0ec1d VV |
178 | Implement P0307R2, Making Optional Greater Equal Again. |
179 | * include/experimental/optional (_Has_addressof): Fix the comment. | |
180 | * include/std/optional (_Has_addressof): Likewise. | |
181 | (operator=(_Up&&)): Constrain. | |
182 | (operator=(const optional<_Up>&)): Likewise. | |
183 | (operator=(optional<_Up>&&)): Likewise. | |
184 | (__optional_relop_t): New. | |
185 | (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain. | |
186 | (operator!=(const optional<_Tp>&, const optional<_Tp>&)): | |
187 | Constrain and make transparent. | |
188 | (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain. | |
189 | (operator>(const optional<_Tp>&, const optional<_Tp>&)): | |
190 | Constrain and make transparent. | |
191 | (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. | |
192 | (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. | |
193 | (operator==(const optional<_Tp>&, const _Tp&): Constrain. | |
194 | (operator==(const _Tp&, const optional<_Tp>&)): Likewise. | |
195 | (operator!=(const optional<_Tp>&, _Tp const&)): | |
196 | Constrain and make transparent. | |
197 | (operator!=(const _Tp&, const optional<_Tp>&)): Likewise. | |
198 | (operator<(const optional<_Tp>&, const _Tp&)): Constrain. | |
199 | (operator<(const _Tp&, const optional<_Tp>&)): Likewise. | |
200 | (operator>(const optional<_Tp>&, const _Tp&)): | |
201 | Constrain and make transparent. | |
202 | (operator>(const _Tp&, const optional<_Tp>&)): Likewise. | |
203 | (operator<=(const optional<_Tp>&, const _Tp&)): Likewise. | |
204 | (operator<=(const _Tp&, const optional<_Tp>&)): Likewise. | |
205 | (operator>=(const optional<_Tp>&, const _Tp&)): Likewise. | |
206 | (operator>=(const _Tp&, const optional<_Tp>&)): Likewise. | |
207 | * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust. | |
208 | * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. | |
209 | * testsuite/20_util/optional/relops/1.cc: Likewise. | |
210 | * testsuite/20_util/optional/relops/2.cc: Likewise. | |
211 | * testsuite/20_util/optional/relops/3.cc: Likewise. | |
212 | * testsuite/20_util/optional/relops/4.cc: Likewise. | |
213 | * testsuite/20_util/optional/requirements.cc: Add tests to verify | |
214 | that optional's relops are transparent and don't synthesize | |
215 | operators. Also test that assignment sfinaes. | |
216 | ||
ceea48fc JW |
217 | 2016-07-13 Jonathan Wakely <jwakely@redhat.com> |
218 | ||
219 | * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str): | |
220 | New function. | |
221 | (_M_disjunct, basic_string(const basic_string&, size_t)): Use data() | |
222 | instead of _M_data(). | |
223 | (basic_string(const basic_string&, size_t, size_t, const _Alloc&)): | |
224 | Likewise. | |
225 | (append(const basic_string&)): Likewise. | |
226 | (append(const basic_string&, size_type, size_type)): Likewise. | |
227 | (assign(const basic_string&, size_type, size_type)): Likewise. | |
228 | (insert(size_type, const basic_string&)): Likewise. | |
229 | (insert(size_type, const basic_string&, size_type, size_type)): | |
230 | Likewise. | |
231 | (replace(size_type, size_type, const basic_string&, size_type, | |
232 | size_type)): Likewise. | |
233 | (replace(__const_iterator, __const_iterator, const basic_string&)): | |
234 | Likewise. | |
235 | (c_str(), data()): Use c_str() instead of _M_data(). | |
236 | (data()): Add non-const overload as per LWG 2391 and P0272R1. | |
237 | (compare(const basic_string&)): Use data() instead of _M_data(). | |
238 | [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload. | |
239 | * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate): | |
240 | Pass raw pointers to _S_copy. | |
241 | (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and | |
242 | _S_assign. | |
243 | (find(const _CharT*, size_type, size_type)): Use data instead of | |
244 | _M_data(). | |
245 | * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New. | |
246 | * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. | |
247 | * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. | |
248 | ||
17b31c05 JW |
249 | 2016-07-12 Jonathan Wakely <jwakely@redhat.com> |
250 | ||
7cbadfdc JW |
251 | * libsupc++/new: Remove nothrow sized deletes (LWG 2458). |
252 | * doc/xml/manual/intro.xml: Document DR 2458 status. | |
253 | * doc/html*: Regenerate. | |
254 | ||
1b24fb4c JW |
255 | * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>. |
256 | * testsuite/23_containers/array/tuple_interface/tuple_element.cc: | |
257 | Only include <array>. | |
258 | * testsuite/23_containers/array/tuple_interface/tuple_size.cc: | |
259 | Likewise. | |
1b1c16e0 | 260 | * doc/xml/manual/intro.xml: Document LWG 2212 support. |
1b24fb4c JW |
261 | * doc/html*: Regenerate. |
262 | ||
17b31c05 JW |
263 | * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc: |
264 | Add testcase from LWG 2164. | |
265 | ||
76225d2c FD |
266 | 2016-07-11 François Dumont <fdumont@gcc.gnu.org> |
267 | ||
268 | * include/bits/stl_vector.h (push_back(const value_type&)): Forward | |
269 | to _M_realloc_insert. | |
270 | (insert(const_iterator, value_type&&)): Forward to _M_insert_rval. | |
271 | (_M_realloc_insert): Declare new function. | |
272 | (_M_emplace_back_aux): Remove definition. | |
273 | * include/bits/vector.tcc (emplace_back(_Args...)): | |
274 | Use _M_realloc_insert. | |
275 | (insert(const_iterator, const value_type&)): Likewise. | |
276 | (_M_insert_rval, _M_emplace_aux): Likewise. | |
277 | (_M_emplace_back_aux): Remove declaration. | |
278 | (_M_realloc_insert): Define. | |
279 | * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: | |
280 | Adjust expected results for emplacing an lvalue with reallocation. | |
281 | ||
435e56fb VV |
282 | 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com> |
283 | ||
284 | Implement std::optional. | |
285 | * include/Makefile.am: Add optional to exported headers. | |
286 | * include/Makefile.in: Likewise. | |
287 | * include/std/optional: New. | |
288 | * testsuite/20_util/optional/typedefs.cc: Likewise. | |
289 | * testsuite/20_util/optional/relops/2.cc: Likewise. | |
290 | * testsuite/20_util/optional/relops/3.cc: Likewise. | |
291 | * testsuite/20_util/optional/relops/4.cc: Likewise. | |
292 | * testsuite/20_util/optional/relops/5.cc: Likewise. | |
293 | * testsuite/20_util/optional/relops/1.cc: Likewise. | |
294 | * testsuite/20_util/optional/relops/6.cc: Likewise. | |
295 | * testsuite/20_util/optional/nullopt.cc: Likewise. | |
296 | * testsuite/20_util/optional/in_place.cc: Likewise. | |
297 | * testsuite/20_util/optional/make_optional.cc: Likewise. | |
298 | * testsuite/20_util/optional/assignment/2.cc: Likewise. | |
299 | * testsuite/20_util/optional/assignment/3.cc: Likewise. | |
300 | * testsuite/20_util/optional/assignment/4.cc: Likewise. | |
301 | * testsuite/20_util/optional/assignment/5.cc: Likewise. | |
302 | * testsuite/20_util/optional/assignment/1.cc: Likewise. | |
303 | * testsuite/20_util/optional/assignment/6.cc: Likewise. | |
304 | * testsuite/20_util/optional/cons/value_neg.cc: Likewise. | |
305 | * testsuite/20_util/optional/cons/default.cc: Likewise. | |
306 | * testsuite/20_util/optional/cons/move.cc: Likewise. | |
307 | * testsuite/20_util/optional/cons/value.cc: Likewise. | |
308 | * testsuite/20_util/optional/cons/copy.cc: Likewise. | |
309 | * testsuite/20_util/optional/requirements.cc: Likewise. | |
310 | * testsuite/20_util/optional/observers/2.cc: Likewise. | |
311 | * testsuite/20_util/optional/observers/3.cc: Likewise. | |
312 | * testsuite/20_util/optional/observers/4.cc: Likewise. | |
313 | * testsuite/20_util/optional/observers/5.cc: Likewise. | |
314 | * testsuite/20_util/optional/observers/1.cc: Likewise. | |
315 | * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise. | |
316 | * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise. | |
317 | * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. | |
318 | * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise. | |
319 | * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise. | |
320 | * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise. | |
321 | * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise. | |
322 | * testsuite/20_util/optional/constexpr/in_place.cc: Likewise. | |
323 | * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise. | |
324 | * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise. | |
325 | * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise. | |
326 | * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise. | |
327 | * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise. | |
328 | * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise. | |
329 | * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise. | |
330 | * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise. | |
331 | * testsuite/20_util/optional/swap/1.cc: Likewise. | |
332 | ||
d81102f4 JW |
333 | 2016-07-08 Jonathan Wakely <jwakely@redhat.com> |
334 | ||
335 | * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New. | |
336 | ||
9fc0faf0 JW |
337 | 2016-07-07 Jonathan Wakely <jwakely@redhat.com> |
338 | ||
339 | * doc/xml/manual/status_cxx2014.xml: Update LFTS status table. | |
340 | * doc/html/*: Regenerate. | |
341 | ||
52e86221 VV |
342 | 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com> |
343 | ||
344 | Implement std::any. | |
345 | * include/Makefile.am: Add any and c++17_warning.h to exported headers. | |
346 | * include/Makefile.in: Likewise. | |
347 | * include/std/any: New. | |
348 | * testsuite/20_util/any/assign/1.cc: Likewise. | |
349 | * testsuite/20_util/any/assign/2.cc: Likewise. | |
350 | * testsuite/20_util/any/assign/self.cc: Likewise. | |
351 | * testsuite/20_util/any/cons/1.cc: Likewise. | |
352 | * testsuite/20_util/any/cons/2.cc: Likewise. | |
353 | * testsuite/20_util/any/cons/aligned.cc: Likewise. | |
354 | * testsuite/20_util/any/cons/nontrivial.cc: Likewise. | |
355 | * testsuite/20_util/any/misc/any_cast.cc: Likewise. | |
356 | * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise. | |
357 | * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise. | |
358 | * testsuite/20_util/any/misc/swap.cc: Likewise. | |
359 | * testsuite/20_util/any/modifiers/1.cc: Likewise. | |
360 | * testsuite/20_util/any/observers/type.cc: Likewise. | |
361 | * testsuite/20_util/any/typedefs.cc: Likewise. | |
362 | ||
3042e708 VV |
363 | 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com> |
364 | ||
365 | Add a new header for diagnosing the use of C++17 facilities | |
366 | in pre-C++17 modes. | |
367 | * include/bits/c++17_warning.h: New. | |
368 | ||
6ffe8548 VV |
369 | 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com> |
370 | ||
371 | Implement LWG 2451, optional<T> should 'forward' T's | |
372 | implicit conversions. | |
373 | * include/experimental/optional (__is_optional_impl, __is_optional): | |
374 | New. | |
375 | (optional()): Make constexpr and default. | |
376 | (optional(_Up&&), optional(const optional<_Up>&), | |
377 | optional(optional<_Up>&& __t): New. | |
378 | (operator=(_Up&&)): Constrain. | |
379 | (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New. | |
380 | * testsuite/experimental/optional/cons/value.cc: | |
381 | Add tests for the functionality added by LWG 2451. | |
382 | * testsuite/experimental/optional/cons/value_neg.cc: New. | |
383 | ||
7d4f48b5 VV |
384 | 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com> |
385 | ||
386 | Implement LWG 2509, | |
387 | any_cast doesn't work with rvalue reference targets and cannot | |
388 | move with a value target. | |
389 | * include/experimental/any (any(_ValueType&&)): Constrain and | |
390 | add an overload that doesn't forward. | |
391 | (any_cast(any&&)): Constrain and add an overload that moves. | |
392 | * testsuite/experimental/any/misc/any_cast.cc: Add tests for | |
393 | the functionality added by LWG 2509. | |
394 | ||
097e8994 FD |
395 | 2016-07-04 François Dumont <fdumont@gcc.gnu.org> |
396 | ||
397 | * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc: | |
398 | New test. | |
399 | * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New | |
400 | test. | |
401 | ||
9958c7eb JW |
402 | 2016-07-04 Jonathan Wakely <jwakely@redhat.com> |
403 | ||
404 | * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)): | |
405 | Define inline. Forward to _M_emplace_aux. | |
406 | (insert(const_iterator, value_type&&)): Forward to _M_insert_rval. | |
407 | (_M_insert_rval, _M_emplace_aux): Declare new functions. | |
408 | (_Temporary_value): New RAII type using allocator to construct/destroy. | |
409 | (_S_insert_aux_assign): Remove. | |
410 | (_M_insert_aux): Make non-variadic. | |
411 | * include/bits/vector.tcc (insert(const_iterator, const value_type&)): | |
412 | Use _Temporary_value. | |
413 | (emplace(const_iterator, _Args&&...)): Remove definition. | |
414 | (_M_insert_rval, _M_emplace_aux): Define. | |
415 | (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign. | |
416 | (_M_fill_insert): Use _Temporary_value. | |
417 | * testsuite/23_containers/vector/allocator/construction.cc: New test. | |
418 | * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: | |
419 | Adjust expected results for emplacing an lvalue with reallocation. | |
420 | * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust | |
421 | expected results to account for construction/destruction of temporary | |
422 | using allocator. | |
423 | * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise. | |
424 | ||
e12880f9 VV |
425 | 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com> |
426 | ||
427 | PR libstdc++/71313 | |
428 | * src/filesystem/ops.cc (remove_all(const path&, error_code&)): | |
429 | Call remove_all for children of a directory. | |
430 | * testsuite/experimental/filesystem/operations/create_directories.cc: | |
431 | Adjust. | |
432 | ||
6c539f2e FD |
433 | 2016-07-02 François Dumont <fdumont@gcc.gnu.org> |
434 | ||
435 | * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust | |
436 | dg-error line numbers. | |
437 | * testsuite/23_containers/array/tuple_interface/ | |
438 | tuple_element_debug_neg.cc: Likewise. | |
439 | * testsuite/25_algorithms/lexicographical_compare/debug/ | |
440 | irreflexive_neg.cc: Remove. | |
441 | ||
72fb6bae TP |
442 | 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com> |
443 | ||
444 | * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather | |
445 | than specific target. | |
446 | ||
dc448fa0 FD |
447 | 2016-06-27 François Dumont <fdumont@gcc.gnu.org> |
448 | ||
449 | PR libstdc++/71640 | |
450 | * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert | |
451 | friend declaration. | |
452 | ||
e615c24c FD |
453 | 2016-06-23 François Dumont <fdumont@gcc.gnu.org> |
454 | ||
455 | * include/debug/array (array<>::swap): Fix noexcept qualificaton for | |
456 | zero-size array. | |
457 | ||
0609abda TS |
458 | 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> |
459 | ||
460 | * configure.host: Remove mep-* support. | |
461 | ||
8466af06 TS |
462 | 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> |
463 | ||
464 | * configure: Regenerate. | |
465 | * configure.host: Remove support for knetbsd. | |
466 | * crossconfig.m4: Likewise. | |
467 | ||
29dbb034 FD |
468 | 2016-06-20 François Dumont <fdumont@gcc.gnu.org> |
469 | ||
470 | PR libstdc++/71181 | |
471 | * include/tr1/hashtable_policy.h | |
472 | (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator | |
473 | dereferenceable to avoid check on lower_bound result. | |
474 | (_Prime_rehash_policy::_M_bkt_for_elements): Call latter. | |
475 | (_Prime_rehash_policy::_M_need_rehash): Likewise. | |
476 | * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt): | |
477 | Always return a value greater than input value. Set _M_next_resize to | |
478 | max value when reaching highest prime number. | |
479 | * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel | |
480 | being now useless. | |
481 | * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New. | |
482 | * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc | |
483 | (test02): New. | |
484 | * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New. | |
485 | * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: | |
486 | Fix indentation. | |
487 | ||
3ebacabd JW |
488 | 2016-06-17 Jonathan Wakely <jwakely@redhat.com> |
489 | ||
490 | PR libstdc++/71545 | |
491 | * include/bits/stl_algobase.h (lower_bound, lexicographical_compare): | |
492 | Remove irreflexive checks. | |
493 | * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range, | |
494 | binary_search): Likewise. | |
495 | * testsuite/25_algorithms/equal_range/partitioned.cc: New test. | |
496 | * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test. | |
497 | * testsuite/25_algorithms/lower_bound/partitioned.cc: New test. | |
498 | * testsuite/25_algorithms/upper_bound/partitioned.cc: New test. | |
499 | * testsuite/util/testsuite_iterators.h (__gnu_test::test_container): | |
500 | Add constructor from array. | |
501 | ||
bd2ee798 FD |
502 | 2016-06-16 François Dumont <fdumont@gcc.gnu.org> |
503 | ||
504 | * include/debug/debug.h | |
505 | (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty) | |
506 | (__glibcxx_requires_subscript): Move... | |
507 | * include/debug/assertions.h: ...here and add __builtin_expect. | |
508 | (_GLIBCXX_DEBUG_ONLY): Remove ; value. | |
509 | * include/bits/stl_deque.h | |
510 | (std::deque<>::operator[]): Add __glibcxx_requires_subscript check. | |
511 | (std::deque<>::front()): Add __glibcxx_requires_nonempty check. | |
512 | (std::deque<>::back()): Likewise. | |
513 | (std::deque<>::pop_front()): Likewise. | |
514 | (std::deque<>::pop_back()): Likewise. | |
515 | (std::deque<>::swap(deque&)): Add allocator check. | |
516 | * include/bits/stl_vector.h | |
517 | (std::vector<>::operator[]): Add __glibcxx_requires_subscript check. | |
518 | (std::vector<>::front()): Add __glibcxx_requires_nonempty check. | |
519 | (std::vector<>::back()): Likewise. | |
520 | (std::vector<>::pop_back()): Likewise. | |
521 | (std::vector<>::swap(vector&)): Add allocator check. | |
522 | ||
6b9539e2 DK |
523 | 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com> |
524 | ||
525 | Provide swappable traits (p0185r1) | |
526 | * include/std/type_traits (is_swappable, is_nothrow_swappable, | |
527 | is_swappable_with, is_nothrow_swappable_with, is_swappable_v, | |
528 | is_nothrow_swappable_v, is_swappable_with_v, | |
529 | is_nothrow_swappable_with_v): New. | |
530 | * include/bits/stl_pair.h: Use it as per p0185r1. | |
531 | * include/bits/stl_queue.h: Likewise. | |
532 | * include/bits/stl_stack.h: Likewise. | |
533 | * include/bits/unique_ptr.h: Likewise. | |
534 | * include/std/tuple: Likewise. | |
535 | * include/std/array: Likewise. Fix zero-size member swap. | |
536 | * include/bits/hashtable.h: Use __and_. | |
537 | * testsuite/20_util/is_nothrow_swappable/requirements/ | |
538 | explicit_instantiation.cc: Change test options to std=gnu++17. | |
539 | * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: | |
540 | Likewise. | |
541 | * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. | |
542 | * testsuite/20_util/is_swappable/requirements/ | |
543 | explicit_instantiation.cc: Likewise. | |
544 | * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise. | |
545 | * testsuite/20_util/is_swappable/value.cc: Likewise. | |
546 | * testsuite/20_util/is_nothrow_swappable/requirements/ | |
547 | explicit_instantiation_ext.cc: New. | |
548 | * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc: | |
549 | New. | |
550 | * testsuite/20_util/is_nothrow_swappable/value.h: New. | |
551 | * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New. | |
552 | * testsuite/20_util/is_nothrow_swappable_with/requirements/ | |
553 | explicit_instantiation.cc: New. | |
554 | * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: | |
555 | New. | |
556 | * testsuite/20_util/is_nothrow_swappable_with/value.cc: New. | |
557 | * testsuite/20_util/is_swappable/requirements/ | |
558 | explicit_instantiation_ext.cc: New. | |
559 | * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New. | |
560 | * testsuite/20_util/is_swappable/value.h: New. | |
561 | * testsuite/20_util/is_swappable/value_ext.cc: New. | |
562 | * testsuite/20_util/is_swappable_with/requirements/ | |
563 | explicit_instantiation.cc: New. | |
564 | * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New. | |
565 | * testsuite/20_util/is_swappable_with/value.cc: New. | |
566 | * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust | |
567 | dg-error line numbers. | |
568 | * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: | |
569 | Likewise. | |
570 | ||
0ae207e9 JW |
571 | 2016-06-16 Jonathan Wakely <jwakely@redhat.com> |
572 | ||
33ac58d5 JW |
573 | * include/std/array: Remove trailing whitespace. |
574 | * include/std/atomic: Likewise. | |
575 | * include/std/bitset: Likewise. | |
576 | * include/std/chrono: Likewise. | |
577 | * include/std/complex: Likewise. | |
578 | * include/std/condition_variable: Likewise. | |
579 | * include/std/fstream: Likewise. | |
580 | * include/std/functional: Likewise. | |
581 | * include/std/future: Likewise. | |
582 | * include/std/iomanip: Likewise. | |
583 | * include/std/iosfwd: Likewise. | |
584 | * include/std/istream: Likewise. | |
585 | * include/std/limits: Likewise. | |
586 | * include/std/ratio: Likewise. | |
587 | * include/std/scoped_allocator: Likewise. | |
588 | * include/std/sstream: Likewise. | |
589 | * include/std/stdexcept: Likewise. | |
590 | * include/std/string: Likewise. | |
591 | * include/std/system_error: Likewise. | |
592 | * include/std/thread: Likewise. | |
593 | * include/std/tuple: Likewise. | |
594 | * include/std/type_traits: Likewise. | |
595 | * include/std/utility: Likewise. | |
596 | * include/std/valarray: Likewise. | |
597 | * include/std/vector: Likewise. | |
598 | ||
0ae207e9 JW |
599 | * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define |
600 | new overloaded functions. | |
601 | * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions | |
602 | to avoid creating a redundant temporary. | |
603 | * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New | |
604 | test. | |
605 | ||
d7e16fc5 FD |
606 | 2016-06-15 François Dumont <fdumont@gcc.gnu.org> |
607 | ||
608 | * include/bits/stl_deque.h | |
609 | (std::deque<>::operator=): Call _M_assign_aux. | |
610 | (std::deque<>::assign(initializer_list<>)): Likewise. | |
611 | (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert. | |
612 | (std::deque<>::insert(const_iterator, initializer_list<>)): | |
613 | Call _M_range_insert_aux. | |
614 | (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag): | |
615 | Likewise. | |
616 | (std::deque<>::_M_fill_assign): Call _M_fill_insert. | |
617 | (std::deque<>::_M_move_assign2): Call _M_assign_aux. | |
618 | * include/bits/deque.tcc | |
619 | (std::deque<>::operator=): Call _M_range_insert_aux. | |
620 | (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)): | |
621 | Likewise. | |
622 | * include/bits/stl_vector.h | |
623 | (std::vector<>::operator=): Call _M_assign_aux. | |
624 | (std::vector<>::assign(initializer_list<>)): Likewise. | |
625 | (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert. | |
626 | (std::vector<>::insert(const_iterator, initializer_list<>)): | |
627 | Call _M_range_insert. | |
628 | * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise. | |
629 | ||
373c0095 FD |
630 | 2016-06-07 François Dumont <fdumont@gcc.gnu.org> |
631 | ||
632 | * include/std/tuple (_Head_base<>): Default specialization condition at | |
633 | type declaration. | |
634 | ||
dbc6221f VV |
635 | 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com> |
636 | ||
637 | Support allocators in tuples of zero size. | |
638 | * include/std/tuple (tuple<>::tuple(), | |
639 | tuple<>::tuple(allocator_arg_t, const _Alloc&), | |
640 | tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New. | |
641 | * testsuite/20_util/tuple/cons/allocators.cc: Adjust. | |
642 | ||
94229fb6 JW |
643 | 2016-06-06 Jonathan Wakely <jwakely@redhat.com> |
644 | ||
645 | PR libstdc++/71320 | |
646 | * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)): | |
647 | Add or remove permissions according to perms argument. | |
648 | * testsuite/experimental/filesystem/operations/permissions.cc: New | |
649 | test. | |
650 | ||
7a667453 VV |
651 | 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com> |
652 | ||
653 | Protect allocator-overloads of tuple-from-tuple constructors | |
654 | from cases that would create dangling references. | |
655 | * include/std/tuple (tuple(allocator_arg_t, const _Alloc&, | |
656 | const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&, | |
657 | tuple<_UElements...>&&)): Add a check for _NonNestedTuple. | |
658 | * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust. | |
659 | ||
4acc3634 GP |
660 | 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com> |
661 | ||
662 | * doc/xml/manual/backwards_compatibility.xml: Adjust | |
663 | lists.debian.org link to https. | |
664 | * doc/html/manual/backwards.html: Regenerate. | |
665 | ||
9020909e JW |
666 | 2016-05-27 Jonathan Wakely <jwakely@redhat.com> |
667 | ||
668 | * doc/xml/manual/abi.xml: Adjust URL to use https. | |
669 | * doc/html/manual/*: Regenerate. | |
670 | ||
b7021006 VV |
671 | 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com> |
672 | ||
673 | PR libstdc++/66338 | |
674 | * include/std/tuple (_TMC): Add a check for _NotSameTuple. | |
675 | * include/std/tuple (tuple(_UElements&&...)): Remove the separate | |
676 | check for _NotSameTuple. | |
677 | * include/std/tuple (_TMCT): New. | |
678 | * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it. | |
679 | * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise. | |
680 | * include/std/tuple (tuple(allocator_arg_t, const _Alloc&, | |
681 | const tuple<_UElements...>&)): Likewise. | |
682 | * include/std/tuple (tuple(allocator_arg_t, const _Alloc&, | |
683 | tuple<_UElements...>&&)): Likewise. | |
684 | * testsuite/20_util/tuple/cons/66338.cc: New. | |
685 | ||
834f4c43 JW |
686 | 2016-05-25 Jonathan Wakely <jwakely@redhat.com> |
687 | ||
c42d2288 JW |
688 | * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile. |
689 | * configure: Regenerate. | |
690 | * config.h.in: Regenerate. | |
691 | ||
834f4c43 JW |
692 | * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it. |
693 | * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt): | |
694 | Remove const qualification on function. Replace | |
695 | _GLIBCXX14_USE_CONSTEXPR on automatic variables with const. | |
696 | (_Power2_rehash_policy::_M_need_rehash): Remove const qualification. | |
697 | (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier. | |
698 | ||
732eb076 FD |
699 | 2016-05-24 François Dumont <fdumont@gcc.gnu.org> |
700 | ||
701 | * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New. | |
702 | * include/bits/hashtable_policy.h | |
703 | (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy | |
704 | having load factor management. | |
705 | (_Mask_range_hashing): New. | |
706 | (__clp2): New. | |
707 | (_Power2_rehash_policy): New. | |
708 | (_Inserts<>): Remove last template parameter, _Unique_keys, so that | |
709 | partial specializations only depend on whether iterators are constant | |
710 | or not. | |
711 | * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to | |
712 | test new hash policy. | |
713 | * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc: | |
714 | Likewise. | |
715 | * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: | |
716 | Likewise. | |
717 | * testsuite/23_containers/unordered_set/insert/hash_policy.cc: | |
718 | Likewise. | |
719 | * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc: | |
720 | Likewise. | |
721 | * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc: | |
722 | New. | |
723 | * testsuite/performance/23_containers/insert/54075.cc: Add benchmark | |
724 | using the new hash policy. | |
725 | * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise. | |
726 | ||
8be062c6 JW |
727 | 2016-05-24 Jonathan Wakely <jwakely@redhat.com> |
728 | ||
729 | * include/bits/stl_queue.h (priority_queue::value_compare): Define. | |
730 | ||
447caf82 FD |
731 | 2016-05-23 François Dumont <fdumont@gcc.gnu.org> |
732 | ||
733 | * include/debug/safe_iterator.h | |
734 | (_Safe_iterator<>::operator->()): Implement using underlying iterator | |
735 | operator ->. | |
736 | * include/debug/safe_local_iterator.h | |
737 | (_Safe_local_iterator<>::operator->()): Likewise. | |
738 | ||
11f8114b TP |
739 | 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com> |
740 | ||
741 | * testsuite/experimental/memory_resource/1.cc: Add required argument | |
742 | to dg-require-atomic-builtins. | |
743 | ||
541a9b10 JW |
744 | 2016-05-13 Jonathan Wakely <jwakely@redhat.com> |
745 | ||
746 | PR libstdc++/71073 | |
747 | * include/debug/bitset: Add #pragma GCC system_header. | |
748 | * include/debug/deque: Likewise. | |
749 | * include/debug/list: Likewise. | |
750 | * include/debug/map: Likewise. | |
751 | * include/debug/set: Likewise. | |
752 | * include/debug/string: Likewise. | |
753 | * include/debug/unordered_map: Likewise. | |
754 | * include/debug/unordered_set: Likewise. | |
755 | * include/debug/vector: Likewise. | |
756 | * include/debug/functions.h: Adjust whitespace. | |
757 | ||
068b220e JW |
758 | 2016-05-12 Jonathan Wakely <jwakely@redhat.com> |
759 | ||
760 | PR libstdc++/71081 | |
761 | * testsuite/experimental/memory_resource/1.cc: Require atomics. | |
762 | ||
3d73ae6e JW |
763 | 2016-05-11 Jonathan Wakely <jwakely@redhat.com> |
764 | ||
765 | PR libstdc++/71049 | |
766 | * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define | |
767 | exception constructors with __sso_string parameters. | |
768 | ||
d7187f9e JW |
769 | 2016-05-10 Jonathan Wakely <jwakely@redhat.com> |
770 | ||
7f99d40a JW |
771 | * include/experimental/bits/fs_dir.h (begin, end): Add noexcept. |
772 | * testsuite/experimental/filesystem/iterators/directory_iterator.cc: | |
773 | Test begin and end functions. | |
774 | * testsuite/experimental/filesystem/iterators/ | |
775 | recursive_directory_iterator.cc: Likewise. | |
776 | ||
6fe673ad JW |
777 | PR libstdc++/71038 |
778 | * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions. | |
779 | * testsuite/experimental/filesystem/operations/copy_file.cc: New test. | |
780 | ||
77a87b2a JW |
781 | * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): |
782 | Overload operator* to move from rvalues. | |
783 | ||
f9a39467 JW |
784 | PR libstdc++/71036 |
785 | * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir. | |
786 | * testsuite/experimental/filesystem/operations/create_directory.cc: | |
787 | New test. | |
788 | ||
6f0800d4 JW |
789 | PR libstdc++/71037 |
790 | * src/filesystem/ops.cc (canonical(const path&, const path&)): Add | |
791 | base path to exception. | |
792 | * testsuite/experimental/filesystem/operations/canonical.cc: Test | |
793 | paths contained in exception. | |
794 | ||
f10b2e1c JW |
795 | * testsuite/experimental/type_erased_allocator/2.cc: Remove unused |
796 | using declaration. | |
797 | ||
d7187f9e JW |
798 | PR libstdc++/71005 |
799 | * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): | |
800 | New type. | |
801 | (directory_iterator::operator++(int)): Return proxy. | |
802 | (recursive_directory_iterator::operator++(int)): Likewise. | |
803 | * testsuite/experimental/filesystem/iterators/directory_iterator.cc: | |
804 | Test post-increment. | |
805 | * testsuite/experimental/filesystem/iterators/ | |
806 | recursive_directory_iterator.cc: Likewise. | |
807 | ||
7972e246 JW |
808 | 2016-05-09 Jonathan Wakely <jwakely@redhat.com> |
809 | ||
810 | PR libstdc++/71004 | |
811 | * testsuite/experimental/filesystem/iterators/ | |
812 | recursive_directory_iterator.cc: Fix test02 to not call member | |
813 | functions on invalid iterator, and use VERIFY not assert. | |
814 | ||
fb334765 VV |
815 | 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com> |
816 | ||
817 | Avoid endless run-time recursion for copying single-element | |
818 | tuples where the element type is by-value constructible | |
819 | from any type. | |
820 | * include/std/tuple (_NotSameTuple): New. | |
821 | * include/std/tuple (tuple(_UElements&&...): Use it. | |
822 | * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New. | |
823 | ||
e4cce0ce JW |
824 | 2016-05-09 Jonathan Wakely <jwakely@redhat.com> |
825 | ||
826 | PR libstdc++/71004 | |
827 | * include/experimental/bits/fs_dir.h (recursive_directory_iterator): | |
828 | Initialize scalar member variables in default constructor. | |
829 | * testsuite/experimental/filesystem/iterators/ | |
d7187f9e | 830 | recursive_directory_iterator.cc: Test default construction. |
e4cce0ce | 831 | |
40436d81 RO |
832 | 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
833 | ||
834 | * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*. | |
835 | ||
f5c40ce2 JW |
836 | 2016-05-05 Jonathan Wakely <jwakely@redhat.com> |
837 | ||
838 | * testsuite/experimental/filesystem/path/native/string.cc: Add | |
839 | dg-require-filesystem-ts directive. | |
840 | ||
d9cb3e75 JW |
841 | 2016-05-04 Jonathan Wakely <jwakely@redhat.com> |
842 | ||
843 | PR libstdc++/70940 | |
844 | * include/experimental/memory_resource | |
845 | (__resource_adaptor_imp::do_allocate): Do not default-construct | |
846 | rebound allocator. | |
847 | (__resource_adaptor_imp::do_deallocate): Likewise. Use | |
848 | allocator_traits to get pointer type. | |
849 | (__null_memory_resource::do_allocate): Remove unused parameters. | |
850 | (__null_memory_resource::do_deallocate): Likewise. | |
851 | (__null_memory_resource::do_is_equal): Likewise. Add return statement. | |
852 | * testsuite/experimental/type_erased_allocator/1.cc: Combine with ... | |
853 | * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and | |
854 | move to ... | |
855 | * testsuite/experimental/memory_resource/1.cc: Here. | |
856 | * testsuite/experimental/memory_resource/null_memory_resource.cc: New. | |
857 | * testsuite/experimental/memory_resource/resource_adaptor.cc: New. | |
858 | ||
f92ab29f CG |
859 | 2016-04-29 Chris Gregory <czipperz@gmail.com> |
860 | ||
861 | * config/*: Remove trailing whitespace. | |
862 | * src/*: Likewise. | |
863 | * testsuite/tr1/*: Likewise. | |
864 | * testsuite/util/*: Likewise. | |
865 | ||
272b2ce4 JW |
866 | 2016-04-28 Jonathan Wakely <jwakely@redhat.com> |
867 | ||
9f9eb84e JW |
868 | PR libstdc++/70766 |
869 | * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use | |
870 | __addressof. | |
871 | * include/bits/stream_iterator.h (istream_iterator, ostream_iterator): | |
872 | Likewise. | |
873 | * include/std/atomic (atomic<_Tp>): Likewise. | |
874 | * include/std/shared_mutex (shared_lock): Likewise. | |
875 | * testsuite/24_iterators/istream_iterator/70766.cc: New test. | |
876 | * testsuite/24_iterators/ostream_iterator/70766.cc : New test. | |
877 | * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. | |
878 | * testsuite/29_atomics/atomic/70766.cc: New test. | |
879 | * testsuite/30_threads/shared_lock/70766.cc: New test. | |
880 | ||
272b2ce4 JW |
881 | * include/bits/hashtable_policy.h (__detail::_Insert_base, |
882 | __detail::_Insert): Improve comments. | |
883 | ||
45e20696 JW |
884 | 2016-04-27 Jonathan Wakely <jwakely@redhat.com> |
885 | ||
886 | PR libstdc++/70767 | |
887 | * include/std/limits: Update comments about DRs. | |
888 | (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>, | |
889 | numeric_limits<const volatile _Tp>): Define unconditionally. | |
890 | ||
a635cdb2 JW |
891 | 2016-04-24 Jonathan Wakely <jwakely@redhat.com> |
892 | ||
893 | PR libstdc++/70762 | |
894 | * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use | |
895 | static counter to return a different path on every call. | |
896 | ||
216f7526 TS |
897 | 2016-04-22 Tim Shen <timshen@google.com> |
898 | ||
899 | PR libstdc++/70745 | |
900 | * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary): | |
901 | Fix the match_not_bow and match_not_eow behavior. | |
902 | * testsuite/28_regex/regression.cc: Add testcase. | |
903 | ||
a1e1ec76 JW |
904 | 2016-04-20 Jonathan Wakely <jwakely@redhat.com> |
905 | ||
906 | PR libstdc++/69703 | |
907 | * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in, | |
908 | __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations. | |
909 | ||
9c476ad4 JW |
910 | 2016-04-19 Jonathan Wakely <jwakely@redhat.com> |
911 | ||
29ca91f7 | 912 | PR libstdc++/69703 |
a1e1ec76 | 913 | * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in): |
29ca91f7 JW |
914 | Override endianness bit in mode. |
915 | * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test. | |
916 | * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test | |
917 | that little_endian mode is ignored. | |
918 | * testsuite/experimental/filesystem/path/native/string.cc: New test. | |
919 | ||
14905251 JW |
920 | PR libstdc++/70609 |
921 | * src/filesystem/ops.cc (close_fd): New function. | |
922 | (do_copy_file): Set permissions before copying file contents. Check | |
923 | result of closing file descriptors. Don't copy streambuf when file | |
924 | is empty. | |
925 | (copy(const path&, const path&, copy_options, error_code&)): Use | |
926 | lstat for source file when copy_symlinks is set. | |
927 | * testsuite/experimental/filesystem/operations/copy.cc: Test copy(). | |
928 | ||
9c476ad4 JW |
929 | * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^, |
930 | operator~ operator&=, operator|=, operator^=): Add noexcept to | |
931 | overloaded operators for copy_options, perms and directory_options. | |
932 | * src/filesystem/ops.cc (make_file_type, make_file_status, | |
933 | is_not_found_errno, file_time): Add noexcept. | |
934 | ||
d855ad89 ESR |
935 | 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net> |
936 | ||
937 | * include/bits/c++14_warning.h: Do not refer C++14 as experimental. | |
938 | ||
8dc1e574 JW |
939 | 2016-04-18 Jonathan Wakely <jwakely@redhat.com> |
940 | ||
0cded43d JW |
941 | PR libstdc++/41759 |
942 | * include/bits/random.h: Reword static assertion messages to state | |
943 | positive conditions. | |
944 | * include/bits/random.tcc: Likewise. | |
945 | * include/bits/uniform_int_dist.h: Likewise. | |
946 | * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error | |
947 | patterns. | |
948 | ||
90751aa7 JW |
949 | * include/std/function (_Bind, _Bind_result): Remove unused typedefs. |
950 | ||
351a5f81 JW |
951 | * config/cpu/sh/atomicity.h: Fix typo in comment. |
952 | ||
b05cf382 JW |
953 | PR libstdc++/70294 |
954 | * include/std/thread (operator<, operator==): Move definitions to | |
955 | namespace-scope. | |
956 | * testsuite/30_threads/thread/id/70294.cc: New test. | |
957 | ||
4ed6e524 JW |
958 | * testsuite/18_support/bad_exception/23591_thread-1.c: Add |
959 | -Wno-pedantic to dg-options. | |
960 | * testsuite/20_util/align/2.cc: Use type as operand of alignof. | |
961 | * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic | |
962 | to dg-options. | |
963 | * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc: | |
964 | Remove extra semi-colon. | |
965 | * testsuite/23_containers/array/tuple_interface/tuple_element.cc: | |
966 | Always supply second argument to static_assert. | |
967 | * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra | |
968 | semi-colon. | |
969 | * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to | |
970 | dg-options. | |
971 | * testsuite/26_numerics/complex/literals/values.cc: Likewise. | |
972 | * testsuite/29_atomics/atomic/60695.cc: Likewise. | |
973 | * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of | |
974 | alignof when operand is an object not a type. | |
975 | * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options. | |
976 | * testsuite/decimal/make-decimal.cc: Likewise. | |
977 | * testsuite/experimental/type_traits/value.cc: Always supply second | |
978 | argument to static_assert. | |
979 | * testsuite/util/testsuite_common_types.h: Use __extension__ for | |
980 | __int128 types. | |
981 | ||
abb6e0a1 JW |
982 | * testsuite/experimental/type_erased_allocator/1.cc: Don't include |
983 | internal header. | |
984 | * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise. | |
985 | * testsuite/experimental/type_erased_allocator/2.cc: Likewise. | |
986 | * testsuite/experimental/type_erased_allocator/uses_allocator.cc: | |
987 | Likewise. Add licence and change to compile-only test. | |
988 | ||
6b6147dd JW |
989 | * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to |
990 | unused parameter. | |
991 | * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise. | |
992 | ||
8dc1e574 JW |
993 | * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare |
994 | warnings. | |
995 | ||
80dbaf98 ESR |
996 | 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net> |
997 | ||
998 | * include/bits/specfun.h: Trivial comment misspelling. | |
999 | ||
9f285ccb JM |
1000 | 2016-04-14 Jason Merrill <jason@redhat.com> |
1001 | ||
1002 | Revert Jonathan's empty ABI change from yesterday. | |
1003 | ||
342fac95 MS |
1004 | 2016-04-13 Martin Sebor <msebor@redhat.com> |
1005 | ||
1006 | PR c++/69517 | |
1007 | * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA | |
1008 | upper bound is positive. | |
1009 | ||
a6297ab5 JW |
1010 | 2016-04-13 Jonathan Wakely <jwakely@redhat.com> |
1011 | ||
1012 | * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES, | |
1013 | _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define. | |
1014 | * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures | |
1015 | of functions taking empty structs by value. Add a template parameter | |
1016 | to overloads without hints. Rename overloads with hints to | |
1017 | _M_emplace_hint. | |
1018 | (_Hashtable::_M_erase(true_type, const_iterator), | |
1019 | _Hashtable::_M_erase(false_type, const_iterator)): Change signatures | |
1020 | by reordering parameters. | |
1021 | * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call | |
1022 | _M_emplace_hint instead of _M_emplace. | |
1023 | * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc), | |
1024 | shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY. | |
1025 | * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count, | |
1026 | __shared_ptr): Likewise. | |
1027 | * include/bits/stl_algo.h (replace_if): Likewise. | |
1028 | * include/bits/stl_pair.h (piecewise_construct_t, | |
1029 | piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES. | |
1030 | * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg, | |
1031 | __uses_alloc0): Likewise. | |
1032 | * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise. | |
1033 | * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error. | |
1034 | * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. | |
1035 | * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. | |
1036 | * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. | |
1037 | * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise. | |
1038 | * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. | |
1039 | ||
0c39f36d ESR |
1040 | 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net> |
1041 | ||
1042 | Document C++17/TR29124 C++ Special Math Functions. | |
1043 | * include/bits/specfun.h: Add Doxygen markup. | |
1044 | ||
6da8b931 JW |
1045 | 2016-04-07 Jonathan Wakely <jwakely@redhat.com> |
1046 | ||
1047 | * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass. | |
1048 | ||
49a52ebc EB |
1049 | 2016-04-06 Eric Botcazou <ebotcazou@adacore.com> |
1050 | ||
1051 | * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null. | |
1052 | * src/Makefile.in: Regenerate. | |
1053 | ||
87cec93e JW |
1054 | 2016-04-05 Jonathan Wakely <jwakely@redhat.com> |
1055 | ||
d2aee115 JW |
1056 | PR libstdc++/70554 |
1057 | * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test | |
1058 | __atomic_fetch_add for bool. | |
1059 | * configure: Regenerate. | |
1060 | ||
d5ec69f3 JW |
1061 | * testsuite/30_threads/thread/70503.cc: Require -static to work. |
1062 | ||
87cec93e JW |
1063 | PR libstdc++/70503 |
1064 | * src/c++11/thread.cc (execute_native_thread_routine, | |
1065 | execute_native_thread_routine_compat): Give internal linkage. | |
1066 | * testsuite/30_threads/thread/70503.cc: New test. | |
1067 | ||
7b3318c4 VV |
1068 | 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com> |
1069 | ||
1070 | PR libstdc++/70437 | |
1071 | * include/bits/stl_pair.h (_ConstructiblePair, | |
1072 | _ImplicitlyConvertiblePair, _MoveConstructiblePair, | |
1073 | _ImplicitlyMoveConvertiblePair): Add shortcut conditions | |
1074 | for same-type cases. | |
1075 | * testsuite/20_util/pair/70437.cc: New. | |
1076 | ||
00e6c25a JW |
1077 | 2016-03-24 Jonathan Wakely <jwakely@redhat.com> |
1078 | ||
1079 | PR libstdc++/69945 | |
1080 | * config/abi/pre/gnu.ver: Add new symbol. | |
1081 | * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define. | |
1082 | * testsuite/18_support/free_eh_pool.cc: New test. | |
1083 | ||
bfd84e6b BE |
1084 | 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de> |
1085 | ||
1086 | * include/Makefile.am (install-freestanding-headers): Add | |
1087 | concept_check.h and move.h to the installed headers. | |
1088 | * include/Makefile.in: Regenerated. | |
1089 | * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for | |
1090 | freestanding implementations. | |
1091 | * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention | |
1092 | that this macro has no effect for freestanding implementations. | |
1093 | * doc/html/manual/using_macros.html: Likewise. | |
1094 | ||
86715b09 JW |
1095 | 2016-02-24 Jonathan Wakely <jwakely@redhat.com> |
1096 | ||
1097 | PR libstdc++/69939 | |
1098 | * include/experimental/tuple (__apply_impl): Qualify get and forward. | |
1099 | ||
9aee022e JW |
1100 | 2016-02-23 Jonathan Wakely <jwakely@redhat.com> |
1101 | ||
be9967e8 JW |
1102 | * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__. |
1103 | * doc/html/*: Regenerate. | |
1104 | ||
9aee022e JW |
1105 | PR libstdc++/69893 |
1106 | * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc, | |
1107 | exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint, | |
1108 | llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter, | |
1109 | nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma, | |
1110 | trunc) [__cplusplus >= 201103L]: Import from namespace std. | |
1111 | (fabs) [__cplusplus < 201103L]: Import from namespace std. | |
1112 | * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]: | |
1113 | Likewise. | |
1114 | * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global | |
1115 | namespace before including TR1 headers. | |
1116 | * testsuite/tr1/headers/c++200x/math.cc: New test. | |
1117 | ||
5f6dd593 BE |
1118 | 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de> |
1119 | ||
1120 | PR libstdc++/69881 | |
1121 | * include/c_global/cstdarg: Undefine __need___va_list. | |
1122 | * include/c_global/cstddef: Undefine all kinds of __need_*. | |
1123 | ||
244901a5 TS |
1124 | 2016-02-16 Tim Shen <timshen@google.com> |
1125 | ||
1126 | PR libstdc++/69794 | |
1127 | * include/bits/regex_scanner.h: Add different special character | |
1128 | sets for grep and egrep regex. | |
1129 | * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly. | |
1130 | * testsuite/28_regex/regression.cc: Add new testcase. | |
1131 | ||
cc07da33 JW |
1132 | 2016-02-08 Jonathan Wakely <jwakely@redhat.com> |
1133 | ||
2158532f JW |
1134 | * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally |
1135 | added 'constexpr' in previous commit. | |
1136 | * configure: Regenerate. | |
1137 | ||
cc07da33 JW |
1138 | PR libstdc++/48891 |
1139 | * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan | |
1140 | checks for all targets except *-*-solaris2.* and ensure we find the | |
1141 | libc math.h header not our own. | |
1142 | * configure: Regenerate. | |
1143 | ||
acc04646 DV |
1144 | 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com> |
1145 | ||
1146 | * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC): | |
1147 | New file. Copied over from s390-linux-gnu. | |
1148 | ||
dbcda3ee JW |
1149 | 2016-02-04 Jonathan Wakely <jwakely@redhat.com> |
1150 | ||
3555173f JW |
1151 | PR libstdc++/69626 |
1152 | * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions | |
1153 | with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB. | |
1154 | * config.h.in: Regenerate. | |
1155 | * configure: Regenerate. | |
1156 | * testsuite/21_strings/c_strings/char/69626.cc: New. | |
1157 | ||
15ebf379 JW |
1158 | * doc/html/index.html: Regenerate. |
1159 | ||
dbcda3ee JW |
1160 | * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI. |
1161 | * doc/xml/manual/spine.xml: Update copyright years and author blurb. | |
1162 | * doc/html/*: Regenerate. | |
1163 | ||
571512d5 BE |
1164 | 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de> |
1165 | ||
1166 | PR libstdc++/69581 | |
1167 | * include/c_compatibility/math.h: Move header guards. | |
1168 | * include/c_compatibility/stdlib.h: Likewise. | |
1169 | ||
f597d5f7 JW |
1170 | 2016-01-29 Jonathan Wakely <jwakely@redhat.com> |
1171 | ||
1172 | PR libstdc++/69506 | |
1173 | * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. | |
1174 | ||
69b0daeb JDA |
1175 | 2016-01-28 John David Anglin <danglin@gcc.gnu.org> |
1176 | ||
1177 | PR libstdc++/69450 | |
1178 | * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete | |
1179 | isinf and isnan functions into two independent checks. Check on hpux. | |
1180 | * config.h.in: Regenerate. | |
1181 | * configure: Regenerate. | |
1182 | * include/c_global/cmath (isinf(double), isnan(double)): Use | |
1183 | _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN, | |
1184 | respectively. | |
1185 | ||
8dc781e4 JJ |
1186 | 2016-01-27 Jakub Jelinek <jakub@redhat.com> |
1187 | ||
1188 | * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>. | |
1189 | ||
bae87f7f JW |
1190 | 2016-01-27 Jonathan Wakely <jwakely@redhat.com> |
1191 | ||
1192 | PR libstdc++/69295 | |
1193 | * testsuite/ext/special_functions/hyperg/check_value.cc: Use | |
1194 | -ffp-contract=off, and -ffloat-store to disable excess precision. | |
1195 | * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use | |
1196 | -ffp-contract=off. | |
1197 | ||
f1d591e8 JW |
1198 | 2016-01-26 Jonathan Wakely <jwakely@redhat.com> |
1199 | ||
1200 | PR libstdc++/69478 | |
1201 | * include/bits/stl_algobase.h (__copy_move<_IsMove, true, | |
1202 | random_access_iterator_tag>): Check is_move_assignable when moving. | |
1203 | (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>): | |
1204 | Likewise. | |
1205 | * testsuite/25_algorithms/copy/move_iterators/69478.cc: New. | |
1206 | * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New. | |
1207 | * testsuite/25_algorithms/move/69478.cc: New. | |
1208 | * testsuite/25_algorithms/move_backward/69478.cc: new. | |
1209 | ||
8964d2a0 AP |
1210 | 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi> |
1211 | ||
1212 | * include/c_compatibility/stdlib.h: Include wide character related | |
1213 | definitions only when they are available in cstdlib. | |
1214 | ||
2944621e JW |
1215 | 2016-01-25 Jonathan Wakely <jwakely@redhat.com> |
1216 | ||
1217 | PR libstdc++/69464 | |
1218 | * include/Makefile.am: Add new header. | |
1219 | * include/Makefile.in: Regenerate. | |
1220 | * include/bits/random.h (uniform_int_distribution): Move to | |
1221 | bits/uniform_int_dist.h. | |
1222 | * include/bits/random.tcc (uniform_int_distribution::operator(), | |
1223 | uniform_int_distribution::__generate_impl): Likewise. | |
1224 | * include/bits/uniform_int_dist.h: New header. | |
1225 | * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include | |
1226 | <bits/uniform_int_dist.h> instead of <random>. | |
1227 | * testsuite/20_util/specialized_algorithms/uninitialized_copy/ | |
1228 | move_iterators/1.cc: Include correct header for uninitialized_copy. | |
1229 | * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ | |
1230 | move_iterators/1.cc: Likewise. | |
1231 | * testsuite/25_algorithms/nth_element/58800.cc: Include correct | |
1232 | header for vector. | |
1233 | * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines. | |
1234 | ||
3676c087 JDA |
1235 | 2016-01-23 John David Anglin <danglin@gcc.gnu.org> |
1236 | ||
1237 | PR libstdc++/69446 | |
1238 | * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. | |
1239 | ||
02dc2419 ESR |
1240 | 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net> |
1241 | ||
1242 | TR29124 C++ Special Math - <math.h> pulls funcs into global namespace. | |
1243 | * include/c_compatibility/math.h: Import the TR29124 functions | |
1244 | into the global namespace. | |
1245 | * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove | |
1246 | xfail and make compile-only. | |
1247 | * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto. | |
1248 | * testsuite/special_functions/03_beta/compile_2.cc: Ditto. | |
1249 | * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto. | |
1250 | * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto. | |
1251 | * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto. | |
1252 | * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto. | |
1253 | * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto. | |
1254 | * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto. | |
1255 | * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto. | |
1256 | * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto. | |
1257 | * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto. | |
1258 | * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto. | |
1259 | * testsuite/special_functions/14_expint/compile_2.cc: Ditto. | |
1260 | * testsuite/special_functions/15_hermite/compile_2.cc: Ditto. | |
1261 | * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto. | |
1262 | * testsuite/special_functions/17_legendre/compile_2.cc: Ditto. | |
1263 | * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto. | |
1264 | * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto. | |
1265 | * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto. | |
1266 | * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto. | |
1267 | ||
350fe282 JW |
1268 | 2016-01-22 Jonathan Wakely <jwakely@redhat.com> |
1269 | ||
d1fb377c JW |
1270 | PR libstdc++/69116 |
1271 | * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only | |
1272 | define result_type for types which can be safely used with valarrays. | |
1273 | * testsuite/26_numerics/valarray/69116.cc: New. | |
1274 | ||
350fe282 JW |
1275 | PR libstdc++/69413 |
1276 | * config/os/gnu-linux/os_defines.h: Define | |
1277 | _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC. | |
1278 | * include/c_global/cmath (isinf, isnan): Check it. | |
1279 | * doc/xml/manual/internals.xml: Document it. | |
1280 | * doc/html/*: Regenerate. | |
1281 | ||
ab56cbed JW |
1282 | 2016-01-21 Jonathan Wakely <jwakely@redhat.com> |
1283 | ||
1284 | PR libstdc++/69406 | |
1285 | * include/bits/cpp_type_traits.h: Ensure C++ language linkage. | |
1286 | * include/ext/type_traits.h: Likewise. | |
1287 | * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros | |
1288 | for presence of C headers. | |
1289 | * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust | |
1290 | dg-error line number. | |
1291 | * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise. | |
1292 | * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise. | |
1293 | * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise. | |
1294 | ||
7e10bcfa TR |
1295 | 2016-01-20 Torvald Riegel <triegel@redhat.com> |
1296 | ||
1297 | PR libstdc++/69310 | |
1298 | * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. | |
1299 | ||
eac437bf JW |
1300 | 2016-01-20 Jonathan Wakely <jwakely@redhat.com> |
1301 | ||
3f93466a JW |
1302 | PR libstdc++/60401 |
1303 | * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt, | |
1304 | copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, | |
1305 | lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint, | |
1306 | nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn, | |
1307 | tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]: | |
1308 | Add using declarations. | |
1309 | * testsuite/26_numerics/headers/cmath/60401.cc: New. | |
1310 | ||
eac437bf JW |
1311 | PR libstdc++/69386 |
1312 | * include/c_global/ccomplex: Ensure C++ language linkage. | |
1313 | * include/c_global/cmath: Likewise. | |
1314 | * include/c_global/cstdlib: Likewise. | |
1315 | * include/c_global/ctgmath: Likewise. | |
1316 | * testsuite/17_intro/headers/c++2011/linkage.cc: New. | |
1317 | ||
96e19ada JW |
1318 | 2016-01-19 Jonathan Wakely <jwakely@redhat.com> |
1319 | ||
1320 | PR libstdc++/14608 | |
1321 | PR libstdc++/60401 | |
1322 | * include/Makefile.am: Use c_compatibility math.h and stdlib.h for | |
1323 | --enable-cheaders=c_global configs. | |
1324 | * include/Makefile.in: Regenerate. | |
1325 | * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C | |
1326 | test and allow inclusion from C files. | |
1327 | * include/c_compatibility/stdlib.h: Likewise. Support freestanding. | |
1328 | (at_quick_exit, quick_exit): Add using directives. | |
1329 | * include/c_global/cmath: Use #include_next for math.h. | |
1330 | * include/c_global/cstdlib: Use #include_next for stdlib.h. | |
1331 | * testsuite/26_numerics/headers/cmath/14608.cc: New. | |
1332 | * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: | |
1333 | Remove xfail for most targets. | |
1334 | * testsuite/26_numerics/headers/cstdlib/60401.cc: New. | |
1335 | ||
9585381a TR |
1336 | 2016-01-18 Torvald Riegel <triegel@redhat.com> |
1337 | ||
1338 | * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New. | |
1339 | (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF | |
1340 | and move after its definition. | |
1341 | * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override. | |
1342 | * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of | |
1343 | __GXX_WEAK__, and only provide transactional clones if | |
1344 | _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm | |
1345 | functions. | |
1346 | ||
f5460595 JW |
1347 | 2016-01-18 Jonathan Wakely <jwakely@redhat.com> |
1348 | ||
c91bcffc JW |
1349 | PR libstdc++/60637 |
1350 | * testsuite/26_numerics/headers/cmath/60637.cc: Add test. | |
1351 | ||
d75d9f91 | 1352 | PR libstdc++/69243 |
9c5ad80e JW |
1353 | * include/std/functional (_Function_base::_M_not_empty_function): |
1354 | Change overloads for pointers to take arguments by value. | |
1355 | * testsuite/20_util/function/cons/57465.cc: Add tests for | |
1356 | pointer-to-member cases. | |
1357 | ||
f5460595 JW |
1358 | PR libstdc++/69340 |
1359 | * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions): | |
1360 | Use macros for exception handling and fix unused parameter warning. | |
1361 | ||
271366f6 JDA |
1362 | 2016-01-17 John David Anglin <danglin@gcc.gnu.org> |
1363 | ||
1364 | PR libstdc++/68734 | |
1365 | * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. | |
1366 | ||
7a5d1d34 TR |
1367 | 2016-01-17 Torvald Riegel <triegel@redhat.com> |
1368 | ||
1369 | * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert. | |
1370 | ||
5445d5bf L |
1371 | 2016-01-16 H.J. Lu <hongjiu.lu@intel.com> |
1372 | ||
1373 | * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add | |
1374 | __int128 symbols. | |
1375 | ||
3d076231 JW |
1376 | 2016-01-15 Jonathan Wakely <jwakely@redhat.com> |
1377 | ||
d7c1581c JW |
1378 | PR libstdc++/69293 |
1379 | * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add | |
1380 | static assertion that type is constructible from the arguments. | |
1381 | * testsuite/20_util/scoped_allocator/69293_neg.cc: New. | |
1382 | * testsuite/20_util/uses_allocator/69293_neg.cc: New. | |
1383 | * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error. | |
1384 | ||
3d076231 JW |
1385 | PR libstdc++/69294 |
1386 | * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf | |
1387 | and isnan on AIX. Quote variables. | |
1388 | * configure: Regenerate. | |
1389 | ||
a04d5fc9 TR |
1390 | 2016-01-15 Torvald Riegel <triegel@redhat.com> |
1391 | ||
1392 | * include/bits/basic_string.h (basic_string): Declare friends. | |
1393 | * include/bits/c++config (_GLIBCXX_TXN_SAFE, | |
1394 | _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New. | |
1395 | * include/std/stdexcept (logic_error, domain_error, invalid_argument, | |
1396 | length_error, out_of_range, runtime_error, range_error, | |
1397 | underflow_error, overflow_error): Declare members as transaction-safe. | |
1398 | (logic_error, runtime_error): Declare friend functions. | |
1399 | * libsupc++/exception (exception, bad_exception): Declare members as | |
1400 | transaction-safe. | |
1401 | * src/c++11/cow-stdexcept.cc: Define transactional clones for the | |
1402 | transaction-safe members of exceptions and helper functions. | |
1403 | * libsupc++/eh_exception.cc: Adjust and define transactional clones. | |
1404 | * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones. | |
1405 | (CXXABI_1.3.10): New. | |
1406 | * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New. | |
1407 | (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW. | |
1408 | * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING. | |
1409 | * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h. | |
1410 | * include/Makefile.in: Regenerate. | |
1411 | * config.h.in: Regenerate. | |
1412 | * configure: Regenerate. | |
1413 | * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10. | |
1414 | ||
cebeb718 SE |
1415 | 2016-01-15 Steve Ellcey <sellcey@imgtec.com> |
1416 | ||
1417 | * include/ext/random.tcc: Use __builtin_isfinite instead of | |
1418 | std::isfinite. | |
1419 | ||
3b07547d JW |
1420 | 2016-01-15 Jonathan Wakely <jwakely@redhat.com> |
1421 | ||
1422 | * include/bits/std_mutex.h: Fix Doxygen @file name. | |
1423 | ||
2be75957 ESR |
1424 | 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net> |
1425 | Jonathan Wakely <jwakely@redhat.com> | |
1426 | Florian Goth <CaptainSifff@gmx.de> | |
1427 | ||
1428 | Implement TR29124 C++ special Math Functions. | |
1429 | * include/Makefile.am: Add new headers. | |
1430 | * include/Makefile.in: Regenerate. | |
1431 | * include/bits/specfun.h: New. | |
1432 | * include/c_global/cmath: Adjust for both tr1 and tr29124 maths. | |
1433 | * include/tr1/bessel_function.tcc: Ditto. | |
1434 | * include/tr1/beta_function.tcc: Ditto. | |
1435 | * include/tr1/cmath: Ditto. | |
1436 | * include/tr1/ell_integral.tcc: Ditto. | |
1437 | * include/tr1/exp_integral.tcc: Ditto. | |
1438 | * include/tr1/gamma.tcc: Ditto. | |
1439 | * include/tr1/hypergeometric.tcc: Ditto. | |
1440 | * include/tr1/legendre_function.tcc: Ditto. | |
1441 | * include/tr1/modified_bessel_func.tcc: Ditto. | |
1442 | * include/tr1/poly_hermite.tcc: Ditto. | |
1443 | * include/tr1/poly_laguerre.tcc: Ditto. | |
1444 | * include/tr1/riemann_zeta.tcc: Ditto. | |
1445 | * include/tr1/special_function_util.h: Ditto. | |
1446 | * testsuite/ext/special_functions/conf_hyperg: New. | |
1447 | * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New. | |
1448 | * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New. | |
1449 | * testsuite/ext/special_functions/conf_hyperg/compile.cc: New. | |
1450 | * testsuite/ext/special_functions/hyperg: New. | |
1451 | * testsuite/ext/special_functions/hyperg/check_nan.cc: New. | |
1452 | * testsuite/ext/special_functions/hyperg/check_value.cc: New. | |
1453 | * testsuite/ext/special_functions/hyperg/compile.cc: New. | |
1454 | * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory. | |
1455 | * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New. | |
1456 | * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New. | |
1457 | * testsuite/special_functions/01_assoc_laguerre/compile.cc: New. | |
1458 | * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New. | |
1459 | * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New. | |
1460 | * testsuite/special_functions/02_assoc_legendre/check_value.cc: New. | |
1461 | * testsuite/special_functions/02_assoc_legendre/compile.cc: New. | |
1462 | * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New. | |
1463 | * testsuite/special_functions/03_beta/check_nan.cc: New. | |
1464 | * testsuite/special_functions/03_beta/check_value.cc: New. | |
1465 | * testsuite/special_functions/03_beta/compile.cc: New. | |
1466 | * testsuite/special_functions/03_beta/compile_2.cc: New. | |
1467 | * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New. | |
1468 | * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New. | |
1469 | * testsuite/special_functions/04_comp_ellint_1/compile.cc: New. | |
1470 | * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New. | |
1471 | * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New. | |
1472 | * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New. | |
1473 | * testsuite/special_functions/05_comp_ellint_2/compile.cc: New. | |
1474 | * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New. | |
1475 | * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New. | |
1476 | * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New. | |
1477 | * testsuite/special_functions/06_comp_ellint_3/compile.cc: New. | |
1478 | * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New. | |
1479 | * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New. | |
1480 | * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New. | |
1481 | * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New. | |
1482 | * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New. | |
1483 | * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New. | |
1484 | * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New. | |
1485 | * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New. | |
1486 | * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New. | |
1487 | * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New. | |
1488 | * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New. | |
1489 | * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New. | |
1490 | * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New. | |
1491 | * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New. | |
1492 | * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New. | |
1493 | * testsuite/special_functions/10_cyl_neumann/check_value.cc: New. | |
1494 | * testsuite/special_functions/10_cyl_neumann/compile.cc: New. | |
1495 | * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New. | |
1496 | * testsuite/special_functions/11_ellint_1/check_nan.cc: New. | |
1497 | * testsuite/special_functions/11_ellint_1/check_value.cc: New. | |
1498 | * testsuite/special_functions/11_ellint_1/compile.cc: New. | |
1499 | * testsuite/special_functions/11_ellint_1/compile_2.cc: New. | |
1500 | * testsuite/special_functions/12_ellint_2/check_nan.cc: New. | |
1501 | * testsuite/special_functions/12_ellint_2/check_value.cc: New. | |
1502 | * testsuite/special_functions/12_ellint_2/compile.cc: New. | |
1503 | * testsuite/special_functions/12_ellint_2/compile_2.cc: New. | |
1504 | * testsuite/special_functions/13_ellint_3/check_nan.cc: New. | |
1505 | * testsuite/special_functions/13_ellint_3/check_value.cc: New. | |
1506 | * testsuite/special_functions/13_ellint_3/compile.cc: New. | |
1507 | * testsuite/special_functions/13_ellint_3/compile_2.cc: New. | |
1508 | * testsuite/special_functions/14_expint/check_nan.cc: New. | |
1509 | * testsuite/special_functions/14_expint/check_value.cc: New. | |
1510 | * testsuite/special_functions/14_expint/compile.cc: New. | |
1511 | * testsuite/special_functions/14_expint/compile_2.cc: New. | |
1512 | * testsuite/special_functions/15_hermite/check_nan.cc: New. | |
1513 | * testsuite/special_functions/15_hermite/check_value.cc: New. | |
1514 | * testsuite/special_functions/15_hermite/compile.cc: New. | |
1515 | * testsuite/special_functions/15_hermite/compile_2.cc: New. | |
1516 | * testsuite/special_functions/16_laguerre/check_nan.cc: New. | |
1517 | * testsuite/special_functions/16_laguerre/check_value.cc: New. | |
1518 | * testsuite/special_functions/16_laguerre/compile.cc: New. | |
1519 | * testsuite/special_functions/16_laguerre/compile_2.cc: New. | |
1520 | * testsuite/special_functions/17_legendre/check_nan.cc: New. | |
1521 | * testsuite/special_functions/17_legendre/check_value.cc: New. | |
1522 | * testsuite/special_functions/17_legendre/compile.cc: New. | |
1523 | * testsuite/special_functions/17_legendre/compile_2.cc: New. | |
1524 | * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New. | |
1525 | * testsuite/special_functions/18_riemann_zeta/check_value.cc: New. | |
1526 | * testsuite/special_functions/18_riemann_zeta/compile.cc: New. | |
1527 | * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New. | |
1528 | * testsuite/special_functions/19_sph_bessel/check_nan.cc: New. | |
1529 | * testsuite/special_functions/19_sph_bessel/check_value.cc: New. | |
1530 | * testsuite/special_functions/19_sph_bessel/compile.cc: New. | |
1531 | * testsuite/special_functions/19_sph_bessel/compile_2.cc: New. | |
1532 | * testsuite/special_functions/20_sph_legendre/check_nan.cc: New. | |
1533 | * testsuite/special_functions/20_sph_legendre/check_value.cc: New. | |
1534 | * testsuite/special_functions/20_sph_legendre/compile.cc: New. | |
1535 | * testsuite/special_functions/20_sph_legendre/compile_2.cc: New. | |
1536 | * testsuite/special_functions/21_sph_neumann/check_nan.cc: New. | |
1537 | * testsuite/special_functions/21_sph_neumann/check_value.cc: New. | |
1538 | * testsuite/special_functions/21_sph_neumann/compile.cc: New. | |
1539 | * testsuite/special_functions/21_sph_neumann/compile_2.cc: New. | |
1540 | * testsuite/util/specfun_testcase.h: New. | |
1541 | * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases. | |
1542 | * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto. | |
1543 | * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto. | |
1544 | * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto. | |
1545 | * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto. | |
1546 | * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto. | |
1547 | * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New. | |
1548 | ||
39a1d8c8 JW |
1549 | 2016-01-13 Jonathan Wakely <jwakely@redhat.com> |
1550 | ||
1551 | PR libstdc++/48891 | |
1552 | * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf | |
1553 | and isnan functions. | |
1554 | * config.h.in: Regenerate. | |
1555 | * configure: Regenerate. | |
1556 | * include/c_global/cmath (isinf(double), isnan(double)) | |
1557 | [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive. | |
1558 | * testsuite/26_numerics/headers/cmath/48891.cc: New. | |
1559 | ||
e862906c RO |
1560 | 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
1561 | ||
1562 | PR libstdc++/66006 | |
1563 | * configure.host (abi_baseline_pair): Use separate baseline for | |
1564 | Solaris 11+ and Solaris 10 with gld. | |
1565 | * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file. | |
1566 | * config/abi/post/solaris2.11/baseline_symbols.txt: New file. | |
1567 | * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file. | |
1568 | ||
26b5ace7 DK |
1569 | 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com> |
1570 | ||
1571 | PR libstdc++/68877 | |
1572 | * include/std/type_traits: Following N4511, reimplement __is_swappable | |
1573 | and __is_nothrow_swappable. Move __is_swappable to namespace std, | |
1574 | adjust callers. Use __is_nothrow_swappable in swap. | |
1575 | * include/bits/move.h: Use __is_nothrow_swappable in swap. | |
1576 | * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove | |
1577 | __is_swappable related tests. | |
1578 | * testsuite/20_util/is_swappable/value.cc: New. | |
1579 | * testsuite/20_util/is_swappable/requirements/ | |
1580 | explicit_instantiation.cc: New. | |
1581 | * testsuite/20_util/is_swappable/requirements/typedefs.cc: New. | |
1582 | * testsuite/25_algorithms/swap/68877.cc: New. | |
1583 | ||
1c3c7c41 JW |
1584 | 2016-01-12 Jonathan Wakely <jwakely@redhat.com> |
1585 | ||
bd285a8b JW |
1586 | * testsuite/20_util/function/68995.cc: Test reference_wrapper cases. |
1587 | ||
1c3c7c41 JW |
1588 | PR libstdc++/69005 |
1589 | PR libstdc++/69222 | |
1590 | * include/std/functional (function::_Invoke): Remove, use result_of. | |
1591 | (function::_Callable): Replace alias template with class template | |
1592 | and use partial specialization instead of _NotSelf alias template. | |
1593 | (function(_Functor)): Add "not self" constraint so that _Callable is | |
1594 | not used while type is incomplete. | |
1595 | * testsuite/20_util/function/69222.cc: New. | |
1596 | ||
1517bc30 JW |
1597 | 2016-01-11 Jonathan Wakely <jwakely@redhat.com> |
1598 | ||
1599 | PR libstdc++/60976 | |
1600 | * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>): | |
1601 | Define partial specialization. | |
1602 | * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and | |
1603 | destroy members to std::allocator explicit specialization. | |
1604 | ||
e525d78c JW |
1605 | 2016-01-08 Jonathan Wakely <jwakely@redhat.com> |
1606 | ||
8babc12b JW |
1607 | * testsuite/26_numerics/headers/cmath/ |
1608 | c99_classification_macros_c++.cc: Rename to ... | |
1609 | * testsuite/26_numerics/headers/cmath/ | |
1610 | c99_classification_macros_c++98.cc: Here and add -std=gnu++98. | |
1611 | * testsuite/26_numerics/headers/cmath/ | |
1612 | c99_classification_macros_c++0x.cc: Rename to ... | |
1613 | * testsuite/26_numerics/headers/cmath/ | |
1614 | c99_classification_macros_c++11.cc: Here. | |
1615 | ||
32a8c97f | 1616 | PR libstdc++/69190 |
e525d78c JW |
1617 | * include/bits/uses_allocator.h: Add missing include. |
1618 | ||
f885fa89 JW |
1619 | 2016-01-07 Jonathan Wakely <jwakely@redhat.com> |
1620 | ||
1621 | PR libstdc++/69105 | |
1622 | PR libstdc++/69106 | |
1623 | PR libstdc++/69114 | |
1624 | * include/bits/stl_iterator.h (back_insert_iterator, | |
1625 | front_insert_iterator, insert_iterator): Use __addressof (LWG 2324). | |
1626 | * include/bits/uses_allocator.h (__use_alloc): Use __addressof. | |
1627 | * include/std/future (__future::base::_State_baseV2::__setter): | |
1628 | Likewise. | |
1629 | * include/std/scoped_allocator (__outermost): Likewise. | |
1630 | * testsuite/20_util/scoped_allocator/69114.cc: New. | |
1631 | * testsuite/20_util/uses_allocator/69114.cc: New. | |
1632 | * testsuite/30_threads/promise/69106.cc: New. | |
1633 | ||
0c3e5dd1 JW |
1634 | 2016-01-06 Jonathan Wakely <jwakely@redhat.com> |
1635 | ||
373a75fb JW |
1636 | PR libstdc++/69092 |
1637 | * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>): | |
1638 | Remove _GLIBCXX_NOEXCEPT. | |
1639 | testsuite/21_strings/basic_string/cons/char/69092.cc: New. | |
1640 | ||
0c3e5dd1 JW |
1641 | * include/Makefile.am: Adjust. |
1642 | * include/Makefile.in: Regenerate. | |
1643 | * include/bits/mutex.h: Rename to bits/std_mutex.h. | |
1644 | * include/std/condition_variable: Adjust include. | |
1645 | * include/std/mutex: Likewise. | |
1646 | ||
818ab71a | 1647 | 2016-01-04 Jakub Jelinek <jakub@redhat.com> |
5624e564 JJ |
1648 | |
1649 | Update copyright years. | |
b4df5e92 | 1650 | \f |
818ab71a | 1651 | Copyright (C) 2016 Free Software Foundation, Inc. |
b4df5e92 JW |
1652 | |
1653 | Copying and distribution of this file, with or without modification, | |
1654 | are permitted in any medium without royalty provided the copyright | |
1655 | notice and this notice are preserved. |