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