1 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
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/
11 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
14 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
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
23 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
25 * include/experimental/functional: Include <parallel/algorithm> in
28 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
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):
44 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
47 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
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
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&&...)):
62 (operator=(const any&)): Likewise.
63 (operator=(any&&)): Likewise.
64 (operator=(_ValueType&&)): Constrain.
65 (emplace(_Args&&...)): New.
66 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
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.
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.
106 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
147 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
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.
165 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
166 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
167 Forward to different overload.
169 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
172 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
174 Revert "Add non-const overload of std::string::data()".
176 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
217 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
219 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
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&)):
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)):
231 (replace(size_type, size_type, const basic_string&, size_type,
232 size_type)): Likewise.
233 (replace(__const_iterator, __const_iterator, const basic_string&)):
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
243 (find(const _CharT*, size_type, size_type)): Use data instead of
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.
249 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
251 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
252 * doc/xml/manual/intro.xml: Document DR 2458 status.
253 * doc/html*: Regenerate.
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:
260 * doc/xml/manual/intro.xml: Document LWG 2212 support.
261 * doc/html*: Regenerate.
263 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
264 Add testcase from LWG 2164.
266 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
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.
282 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
333 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
335 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
337 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
339 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
340 * doc/html/*: Regenerate.
342 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
363 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
365 Add a new header for diagnosing the use of C++17 facilities
367 * include/bits/c++17_warning.h: New.
369 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
371 Implement LWG 2451, optional<T> should 'forward' T's
372 implicit conversions.
373 * include/experimental/optional (__is_optional_impl, __is_optional):
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.
384 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
395 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
397 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
399 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
402 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
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
423 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
425 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
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:
433 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
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.
442 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
444 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
445 than specific target.
447 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
450 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
453 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
455 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
458 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
460 * configure.host: Remove mep-* support.
462 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
464 * configure: Regenerate.
465 * configure.host: Remove support for knetbsd.
466 * crossconfig.m4: Likewise.
468 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
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
481 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
482 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
484 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
485 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
488 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
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.
502 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
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.
523 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
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:
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:
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:
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:
571 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
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.
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
606 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
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):
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)):
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.
630 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
632 * include/std/tuple (_Head_base<>): Default specialization condition at
635 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
643 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
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
651 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
660 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
662 * doc/xml/manual/backwards_compatibility.xml: Adjust
663 lists.debian.org link to https.
664 * doc/html/manual/backwards.html: Regenerate.
666 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
668 * doc/xml/manual/abi.xml: Adjust URL to use https.
669 * doc/html/manual/*: Regenerate.
671 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
686 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
688 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
689 * configure: Regenerate.
690 * config.h.in: Regenerate.
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.
699 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
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.
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
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:
715 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
717 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
719 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
721 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
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.
727 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
729 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
731 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
733 * include/debug/safe_iterator.h
734 (_Safe_iterator<>::operator->()): Implement using underlying iterator
736 * include/debug/safe_local_iterator.h
737 (_Safe_local_iterator<>::operator->()): Likewise.
739 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
741 * testsuite/experimental/memory_resource/1.cc: Add required argument
742 to dg-require-atomic-builtins.
744 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
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.
758 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
761 * testsuite/experimental/memory_resource/1.cc: Require atomics.
763 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
766 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
767 exception constructors with __sso_string parameters.
769 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
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.
778 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
779 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
781 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
782 Overload operator* to move from rvalues.
785 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
786 * testsuite/experimental/filesystem/operations/create_directory.cc:
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.
795 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
799 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
801 (directory_iterator::operator++(int)): Return proxy.
802 (recursive_directory_iterator::operator++(int)): Likewise.
803 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
805 * testsuite/experimental/filesystem/iterators/
806 recursive_directory_iterator.cc: Likewise.
808 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
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.
815 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
817 Avoid endless run-time recursion for copying single-element
818 tuples where the element type is by-value constructible
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.
824 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
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.
832 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
834 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
836 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
838 * testsuite/experimental/filesystem/path/native/string.cc: Add
839 dg-require-filesystem-ts directive.
841 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
844 * include/experimental/memory_resource
845 (__resource_adaptor_imp::do_allocate): Do not default-construct
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
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.
859 2016-04-29 Chris Gregory <czipperz@gmail.com>
861 * config/*: Remove trailing whitespace.
863 * testsuite/tr1/*: Likewise.
864 * testsuite/util/*: Likewise.
866 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
869 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
871 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
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.
881 * include/bits/hashtable_policy.h (__detail::_Insert_base,
882 __detail::_Insert): Improve comments.
884 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
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.
891 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
894 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
895 static counter to return a different path on every call.
897 2016-04-22 Tim Shen <timshen@google.com>
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.
904 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
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.
910 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
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.
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
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().
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.
935 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
937 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
939 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
942 * include/bits/random.h: Reword static assertion messages to state
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
949 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
951 * config/cpu/sh/atomicity.h: Fix typo in comment.
954 * include/std/thread (operator<, operator==): Move definitions to
956 * testsuite/30_threads/thread/id/70294.cc: New test.
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
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
969 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
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
982 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
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.
989 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
991 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
993 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
996 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
998 * include/bits/specfun.h: Trivial comment misspelling.
1000 2016-04-14 Jason Merrill <jason@redhat.com>
1002 Revert Jonathan's empty ABI change from yesterday.
1004 2016-04-13 Martin Sebor <msebor@redhat.com>
1007 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1008 upper bound is positive.
1010 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
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
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.
1040 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
1042 Document C++17/TR29124 C++ Special Math Functions.
1043 * include/bits/specfun.h: Add Doxygen markup.
1045 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
1047 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
1049 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
1051 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
1052 * src/Makefile.in: Regenerate.
1054 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
1057 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
1058 __atomic_fetch_add for bool.
1059 * configure: Regenerate.
1061 * testsuite/30_threads/thread/70503.cc: Require -static to work.
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.
1068 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
1077 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
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.
1084 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
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.
1095 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
1098 * include/experimental/tuple (__apply_impl): Qualify get and forward.
1100 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
1102 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
1103 * doc/html/*: Regenerate.
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]:
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.
1118 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1121 * include/c_global/cstdarg: Undefine __need___va_list.
1122 * include/c_global/cstddef: Undefine all kinds of __need_*.
1124 2016-02-16 Tim Shen <timshen@google.com>
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.
1132 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
1134 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
1135 added 'constexpr' in previous commit.
1136 * configure: Regenerate.
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.
1144 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
1146 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
1147 New file. Copied over from s390-linux-gnu.
1149 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
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.
1158 * doc/html/index.html: Regenerate.
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.
1164 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
1167 * include/c_compatibility/math.h: Move header guards.
1168 * include/c_compatibility/stdlib.h: Likewise.
1170 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
1173 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1175 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
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,
1186 2016-01-27 Jakub Jelinek <jakub@redhat.com>
1188 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
1190 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
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
1198 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
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>):
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.
1210 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
1212 * include/c_compatibility/stdlib.h: Include wide character related
1213 definitions only when they are available in cstdlib.
1215 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
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
1233 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
1235 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
1238 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1240 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
1268 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
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.
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.
1282 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
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.
1295 2016-01-20 Torvald Riegel <triegel@redhat.com>
1298 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1300 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
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.
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.
1318 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
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.
1336 2016-01-18 Torvald Riegel <triegel@redhat.com>
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
1347 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
1350 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
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.
1359 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
1360 Use macros for exception handling and fix unused parameter warning.
1362 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
1365 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1367 2016-01-17 Torvald Riegel <triegel@redhat.com>
1369 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
1371 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
1373 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
1376 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
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.
1386 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1387 and isnan on AIX. Quote variables.
1388 * configure: Regenerate.
1390 2016-01-15 Torvald Riegel <triegel@redhat.com>
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
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.
1415 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
1417 * include/ext/random.tcc: Use __builtin_isfinite instead of
1420 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
1422 * include/bits/std_mutex.h: Fix Doxygen @file name.
1424 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
1425 Jonathan Wakely <jwakely@redhat.com>
1426 Florian Goth <CaptainSifff@gmx.de>
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.
1549 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
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.
1560 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
1569 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
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.
1584 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
1586 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
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.
1597 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
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.
1605 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
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.
1617 * include/bits/uses_allocator.h: Add missing include.
1619 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
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):
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.
1634 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
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.
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.
1647 2016-01-04 Jakub Jelinek <jakub@redhat.com>
1649 Update copyright years.
1651 Copyright (C) 2016 Free Software Foundation, Inc.
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.