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