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