PR target/71375
[official-gcc.git] / libstdc++-v3 / ChangeLog
bloba97485171146b07993858a0aa5b95843a42018d2
1 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/71545
4         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
5         Remove irreflexive checks.
6         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
7         binary_search): Likewise.
8         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
9         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
10         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
11         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
12         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
13         Add constructor from array.
15 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
17         * include/debug/debug.h
18         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
19         (__glibcxx_requires_subscript): Move...
20         * include/debug/assertions.h: ...here and add __builtin_expect.
21         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
22         * include/bits/stl_deque.h
23         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
24         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
25         (std::deque<>::back()): Likewise.
26         (std::deque<>::pop_front()): Likewise.
27         (std::deque<>::pop_back()): Likewise.
28         (std::deque<>::swap(deque&)): Add allocator check.
29         * include/bits/stl_vector.h
30         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
31         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
32         (std::vector<>::back()): Likewise.
33         (std::vector<>::pop_back()): Likewise.
34         (std::vector<>::swap(vector&)): Add allocator check.
36 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
38         Provide swappable traits (p0185r1)
39         * include/std/type_traits (is_swappable, is_nothrow_swappable,
40         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
41         is_nothrow_swappable_v, is_swappable_with_v,
42         is_nothrow_swappable_with_v): New.
43         * include/bits/stl_pair.h: Use it as per p0185r1.
44         * include/bits/stl_queue.h: Likewise.
45         * include/bits/stl_stack.h: Likewise.
46         * include/bits/unique_ptr.h: Likewise.
47         * include/std/tuple: Likewise.
48         * include/std/array: Likewise. Fix zero-size member swap.
49         * include/bits/hashtable.h: Use __and_.
50         * testsuite/20_util/is_nothrow_swappable/requirements/
51         explicit_instantiation.cc: Change test options to std=gnu++17.
52         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
53         Likewise.
54         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
55         * testsuite/20_util/is_swappable/requirements/
56         explicit_instantiation.cc: Likewise.
57         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
58         * testsuite/20_util/is_swappable/value.cc: Likewise.
59         * testsuite/20_util/is_nothrow_swappable/requirements/
60         explicit_instantiation_ext.cc: New.
61         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
62         New.
63         * testsuite/20_util/is_nothrow_swappable/value.h: New.
64         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
65         * testsuite/20_util/is_nothrow_swappable_with/requirements/
66         explicit_instantiation.cc: New.
67         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
68         New.
69         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
70         * testsuite/20_util/is_swappable/requirements/
71         explicit_instantiation_ext.cc: New.
72         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
73         * testsuite/20_util/is_swappable/value.h: New.
74         * testsuite/20_util/is_swappable/value_ext.cc: New.
75         * testsuite/20_util/is_swappable_with/requirements/
76         explicit_instantiation.cc: New.
77         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
78         * testsuite/20_util/is_swappable_with/value.cc: New.
79         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
80         dg-error line numbers.
81         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
82         Likewise.
84 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
86         * include/std/array: Remove trailing whitespace.
87         * include/std/atomic: Likewise.
88         * include/std/bitset: Likewise.
89         * include/std/chrono: Likewise.
90         * include/std/complex: Likewise.
91         * include/std/condition_variable: Likewise.
92         * include/std/fstream: Likewise.
93         * include/std/functional: Likewise.
94         * include/std/future: Likewise.
95         * include/std/iomanip: Likewise.
96         * include/std/iosfwd: Likewise.
97         * include/std/istream: Likewise.
98         * include/std/limits: Likewise.
99         * include/std/ratio: Likewise.
100         * include/std/scoped_allocator: Likewise.
101         * include/std/sstream: Likewise.
102         * include/std/stdexcept: Likewise.
103         * include/std/string: Likewise.
104         * include/std/system_error: Likewise.
105         * include/std/thread: Likewise.
106         * include/std/tuple: Likewise.
107         * include/std/type_traits: Likewise.
108         * include/std/utility: Likewise.
109         * include/std/valarray: Likewise.
110         * include/std/vector: Likewise.
112         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
113         new overloaded functions.
114         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
115         to avoid creating a redundant temporary.
116         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
117         test.
119 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
121         * include/bits/stl_deque.h
122         (std::deque<>::operator=): Call _M_assign_aux.
123         (std::deque<>::assign(initializer_list<>)): Likewise.
124         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
125         (std::deque<>::insert(const_iterator, initializer_list<>)):
126         Call _M_range_insert_aux.
127         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
128         Likewise.
129         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
130         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
131         * include/bits/deque.tcc
132         (std::deque<>::operator=): Call _M_range_insert_aux.
133         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
134         Likewise.
135         * include/bits/stl_vector.h
136         (std::vector<>::operator=): Call _M_assign_aux.
137         (std::vector<>::assign(initializer_list<>)): Likewise.
138         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
139         (std::vector<>::insert(const_iterator, initializer_list<>)):
140         Call _M_range_insert.
141         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
143 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
145         * include/std/tuple (_Head_base<>): Default specialization condition at
146         type declaration.
148 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
150         Support allocators in tuples of zero size.
151         * include/std/tuple (tuple<>::tuple(),
152         tuple<>::tuple(allocator_arg_t, const _Alloc&),
153         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
154         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
156 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
158         PR libstdc++/71320
159         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
160         Add or remove permissions according to perms argument.
161         * testsuite/experimental/filesystem/operations/permissions.cc: New
162         test.
164 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
166         Protect allocator-overloads of tuple-from-tuple constructors
167         from cases that would create dangling references.
168         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
169         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
170         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
171         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
173 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
175         * doc/xml/manual/backwards_compatibility.xml: Adjust
176         lists.debian.org link to https.
177         * doc/html/manual/backwards.html: Regenerate.
179 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
181         * doc/xml/manual/abi.xml: Adjust URL to use https.
182         * doc/html/manual/*: Regenerate.
184 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
186         PR libstdc++/66338
187         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
188         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
189         check for _NotSameTuple.
190         * include/std/tuple (_TMCT): New.
191         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
192         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
193         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
194               const tuple<_UElements...>&)): Likewise.
195         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
196               tuple<_UElements...>&&)): Likewise.
197         * testsuite/20_util/tuple/cons/66338.cc: New.
199 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
201         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
202         * configure: Regenerate.
203         * config.h.in: Regenerate.
205         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
206         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
207         Remove const qualification on function. Replace
208         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
209         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
210         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
212 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
214         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
215         * include/bits/hashtable_policy.h
216         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
217         having load factor management.
218         (_Mask_range_hashing): New.
219         (__clp2): New.
220         (_Power2_rehash_policy): New.
221         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
222         partial specializations only depend on whether iterators are constant
223         or not.
224         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
225         test new hash policy.
226         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
227         Likewise.
228         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
229         Likewise.
230         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
231         Likewise.
232         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
233         Likewise.
234         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
235         New.
236         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
237         using the new hash policy.
238         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
240 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
242         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
244 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
246         * include/debug/safe_iterator.h
247         (_Safe_iterator<>::operator->()): Implement using underlying iterator
248         operator ->.
249         * include/debug/safe_local_iterator.h
250         (_Safe_local_iterator<>::operator->()): Likewise.
252 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
254         * testsuite/experimental/memory_resource/1.cc: Add required argument
255         to dg-require-atomic-builtins.
257 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
259         PR libstdc++/71073
260         * include/debug/bitset: Add #pragma GCC system_header.
261         * include/debug/deque: Likewise.
262         * include/debug/list: Likewise.
263         * include/debug/map: Likewise.
264         * include/debug/set: Likewise.
265         * include/debug/string: Likewise.
266         * include/debug/unordered_map: Likewise.
267         * include/debug/unordered_set: Likewise.
268         * include/debug/vector: Likewise.
269         * include/debug/functions.h: Adjust whitespace.
271 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
273         PR libstdc++/71081
274         * testsuite/experimental/memory_resource/1.cc: Require atomics.
276 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
278         PR libstdc++/71049
279         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
280         exception constructors with __sso_string parameters.
282 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
284         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
285         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
286         Test begin and end functions.
287         * testsuite/experimental/filesystem/iterators/
288         recursive_directory_iterator.cc: Likewise.
290         PR libstdc++/71038
291         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
292         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
294         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
295         Overload operator* to move from rvalues.
297         PR libstdc++/71036
298         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
299         * testsuite/experimental/filesystem/operations/create_directory.cc:
300         New test.
302         PR libstdc++/71037
303         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
304         base path to exception.
305         * testsuite/experimental/filesystem/operations/canonical.cc: Test
306         paths contained in exception.
308         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
309         using declaration.
311         PR libstdc++/71005
312         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
313         New type.
314         (directory_iterator::operator++(int)): Return proxy.
315         (recursive_directory_iterator::operator++(int)): Likewise.
316         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
317         Test post-increment.
318         * testsuite/experimental/filesystem/iterators/
319         recursive_directory_iterator.cc: Likewise.
321 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
323         PR libstdc++/71004
324         * testsuite/experimental/filesystem/iterators/
325         recursive_directory_iterator.cc: Fix test02 to not call member
326         functions on invalid iterator, and use VERIFY not assert.
328 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
330         Avoid endless run-time recursion for copying single-element
331         tuples where the element type is by-value constructible
332         from any type.
333         * include/std/tuple (_NotSameTuple): New.
334         * include/std/tuple (tuple(_UElements&&...): Use it.
335         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
337 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
339         PR libstdc++/71004
340         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
341         Initialize scalar member variables in default constructor.
342         * testsuite/experimental/filesystem/iterators/
343         recursive_directory_iterator.cc: Test default construction.
345 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
347         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
349 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
351         * testsuite/experimental/filesystem/path/native/string.cc: Add
352         dg-require-filesystem-ts directive.
354 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
356         PR libstdc++/70940
357         * include/experimental/memory_resource
358         (__resource_adaptor_imp::do_allocate): Do not default-construct
359         rebound allocator.
360         (__resource_adaptor_imp::do_deallocate): Likewise. Use
361         allocator_traits to get pointer type.
362         (__null_memory_resource::do_allocate): Remove unused parameters.
363         (__null_memory_resource::do_deallocate): Likewise.
364         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
365         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
366         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
367         move to ...
368         * testsuite/experimental/memory_resource/1.cc: Here.
369         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
370         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
372 2016-04-29  Chris Gregory  <czipperz@gmail.com>
374         * config/*: Remove trailing whitespace.
375         * src/*: Likewise.
376         * testsuite/tr1/*: Likewise.
377         * testsuite/util/*: Likewise.
379 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
381         PR libstdc++/70766
382         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
383         __addressof.
384         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
385         Likewise.
386         * include/std/atomic (atomic<_Tp>): Likewise.
387         * include/std/shared_mutex (shared_lock): Likewise.
388         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
389         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
390         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
391         * testsuite/29_atomics/atomic/70766.cc: New test.
392         * testsuite/30_threads/shared_lock/70766.cc: New test.
394         * include/bits/hashtable_policy.h (__detail::_Insert_base,
395         __detail::_Insert): Improve comments.
397 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
399         PR libstdc++/70767
400         * include/std/limits: Update comments about DRs.
401         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
402         numeric_limits<const volatile _Tp>): Define unconditionally.
404 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
406         PR libstdc++/70762
407         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
408         static counter to return a different path on every call.
410 2016-04-22  Tim Shen  <timshen@google.com>
412         PR libstdc++/70745
413         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
414         Fix the match_not_bow and match_not_eow behavior.
415         * testsuite/28_regex/regression.cc: Add testcase.
417 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
419         PR libstdc++/69703
420         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
421         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
423 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
425         PR libstdc++/69703
426         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
427         Override endianness bit in mode.
428         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
429         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
430         that little_endian mode is ignored.
431         * testsuite/experimental/filesystem/path/native/string.cc: New test.
433         PR libstdc++/70609
434         * src/filesystem/ops.cc (close_fd): New function.
435         (do_copy_file): Set permissions before copying file contents. Check
436         result of closing file descriptors. Don't copy streambuf when file
437         is empty.
438         (copy(const path&, const path&, copy_options, error_code&)): Use
439         lstat for source file when copy_symlinks is set.
440         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
442         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
443         operator~ operator&=, operator|=, operator^=): Add noexcept to
444         overloaded operators for copy_options, perms and directory_options.
445         * src/filesystem/ops.cc (make_file_type, make_file_status,
446         is_not_found_errno, file_time): Add noexcept.
448 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
450         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
452 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
454         PR libstdc++/41759
455         * include/bits/random.h: Reword static assertion messages to state
456         positive conditions.
457         * include/bits/random.tcc: Likewise.
458         * include/bits/uniform_int_dist.h: Likewise.
459         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
460         patterns.
462         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
464         * config/cpu/sh/atomicity.h: Fix typo in comment.
466         PR libstdc++/70294
467         * include/std/thread (operator<, operator==): Move definitions to
468         namespace-scope.
469         * testsuite/30_threads/thread/id/70294.cc: New test.
471         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
472         -Wno-pedantic to dg-options.
473         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
474         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
475         to dg-options.
476         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
477         Remove extra semi-colon.
478         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
479         Always supply second argument to static_assert.
480         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
481         semi-colon.
482         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
483         dg-options.
484         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
485         * testsuite/29_atomics/atomic/60695.cc: Likewise.
486         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
487         alignof when operand is an object not a type.
488         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
489         * testsuite/decimal/make-decimal.cc: Likewise.
490         * testsuite/experimental/type_traits/value.cc: Always supply second
491         argument to static_assert.
492         * testsuite/util/testsuite_common_types.h: Use __extension__ for
493         __int128 types.
495         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
496         internal header.
497         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
498         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
499         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
500         Likewise. Add licence and change to compile-only test.
502         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
503         unused parameter.
504         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
506         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
507         warnings.
509 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
511         * include/bits/specfun.h: Trivial comment misspelling.
513 2016-04-14  Jason Merrill  <jason@redhat.com>
515         Revert Jonathan's empty ABI change from yesterday.
517 2016-04-13  Martin Sebor  <msebor@redhat.com>
519         PR c++/69517
520         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
521         upper bound is positive.
523 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
525         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
526         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
527         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
528         of functions taking empty structs by value. Add a template parameter
529         to overloads without hints. Rename overloads with hints to
530         _M_emplace_hint.
531         (_Hashtable::_M_erase(true_type, const_iterator),
532         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
533         by reordering parameters.
534         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
535         _M_emplace_hint instead of _M_emplace.
536         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
537         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
538         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
539         __shared_ptr): Likewise.
540         * include/bits/stl_algo.h (replace_if): Likewise.
541         * include/bits/stl_pair.h (piecewise_construct_t,
542         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
543         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
544         __uses_alloc0): Likewise.
545         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
546         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
547         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
548         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
549         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
550         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
551         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
553 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
555         Document C++17/TR29124 C++ Special Math Functions.
556         * include/bits/specfun.h: Add Doxygen markup.
558 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
560         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
562 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
564         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
565         * src/Makefile.in: Regenerate.
567 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
569         PR libstdc++/70554
570         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
571         __atomic_fetch_add for bool.
572         * configure: Regenerate.
574         * testsuite/30_threads/thread/70503.cc: Require -static to work.
576         PR libstdc++/70503
577         * src/c++11/thread.cc (execute_native_thread_routine,
578         execute_native_thread_routine_compat): Give internal linkage.
579         * testsuite/30_threads/thread/70503.cc: New test.
581 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
583         PR libstdc++/70437
584         * include/bits/stl_pair.h (_ConstructiblePair,
585         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
586         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
587         for same-type cases.
588         * testsuite/20_util/pair/70437.cc: New.
590 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
592         PR libstdc++/69945
593         * config/abi/pre/gnu.ver: Add new symbol.
594         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
595         * testsuite/18_support/free_eh_pool.cc: New test.
597 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
599         * include/Makefile.am (install-freestanding-headers): Add
600         concept_check.h and move.h to the installed headers.
601         * include/Makefile.in: Regenerated.
602         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
603         freestanding implementations.
604         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
605         that this macro has no effect for freestanding implementations.
606         * doc/html/manual/using_macros.html: Likewise.
608 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
610         PR libstdc++/69939
611         * include/experimental/tuple (__apply_impl): Qualify get and forward.
613 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
615         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
616         * doc/html/*: Regenerate.
618         PR libstdc++/69893
619         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
620         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
621         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
622         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
623         trunc) [__cplusplus >= 201103L]: Import from namespace std.
624         (fabs) [__cplusplus < 201103L]: Import from namespace std.
625         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
626         Likewise.
627         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
628         namespace before including TR1 headers.
629         * testsuite/tr1/headers/c++200x/math.cc: New test.
631 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
633         PR libstdc++/69881
634         * include/c_global/cstdarg: Undefine __need___va_list.
635         * include/c_global/cstddef: Undefine all kinds of __need_*.
637 2016-02-16  Tim Shen  <timshen@google.com>
639         PR libstdc++/69794
640         * include/bits/regex_scanner.h: Add different special character
641         sets for grep and egrep regex.
642         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
643         * testsuite/28_regex/regression.cc: Add new testcase.
645 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
647         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
648         added 'constexpr' in previous commit.
649         * configure: Regenerate.
651         PR libstdc++/48891
652         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
653         checks for all targets except *-*-solaris2.* and ensure we find the
654         libc math.h header not our own.
655         * configure: Regenerate.
657 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
659         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
660         New file.  Copied over from s390-linux-gnu.
662 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
664         PR libstdc++/69626
665         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
666         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
667         * config.h.in: Regenerate.
668         * configure: Regenerate.
669         * testsuite/21_strings/c_strings/char/69626.cc: New.
671         * doc/html/index.html: Regenerate.
673         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
674         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
675         * doc/html/*: Regenerate.
677 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
679         PR libstdc++/69581
680         * include/c_compatibility/math.h: Move header guards.
681         * include/c_compatibility/stdlib.h: Likewise.
683 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
685         PR libstdc++/69506
686         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
688 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
690         PR libstdc++/69450
691         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
692         isinf and isnan functions into two independent checks.  Check on hpux.
693         * config.h.in: Regenerate.
694         * configure: Regenerate.
695         * include/c_global/cmath (isinf(double), isnan(double)): Use
696         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
697         respectively.
699 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
701         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
703 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
705         PR libstdc++/69295
706         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
707         -ffp-contract=off, and -ffloat-store to disable excess precision.
708         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
709         -ffp-contract=off.
711 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
713         PR libstdc++/69478
714         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
715         random_access_iterator_tag>): Check is_move_assignable when moving.
716         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
717         Likewise.
718         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
719         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
720         * testsuite/25_algorithms/move/69478.cc: New.
721         * testsuite/25_algorithms/move_backward/69478.cc: new.
723 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
725         * include/c_compatibility/stdlib.h: Include wide character related
726         definitions only when they are available in cstdlib.
728 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
730         PR libstdc++/69464
731         * include/Makefile.am: Add new header.
732         * include/Makefile.in: Regenerate.
733         * include/bits/random.h (uniform_int_distribution): Move to
734         bits/uniform_int_dist.h.
735         * include/bits/random.tcc (uniform_int_distribution::operator(),
736         uniform_int_distribution::__generate_impl): Likewise.
737         * include/bits/uniform_int_dist.h: New header.
738         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
739         <bits/uniform_int_dist.h> instead of <random>.
740         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
741         move_iterators/1.cc: Include correct header for uninitialized_copy.
742         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
743         move_iterators/1.cc: Likewise.
744         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
745         header for vector.
746         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
748 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
750         PR libstdc++/69446
751         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
753 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
755         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
756         * include/c_compatibility/math.h: Import the TR29124 functions
757         into the global namespace.
758         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
759         xfail and make compile-only.
760         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
761         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
762         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
763         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
764         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
765         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
766         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
767         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
768         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
769         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
770         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
771         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
772         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
773         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
774         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
775         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
776         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
777         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
778         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
779         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
781 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
783         PR libstdc++/69116
784         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
785         define result_type for types which can be safely used with valarrays.
786         * testsuite/26_numerics/valarray/69116.cc: New.
788         PR libstdc++/69413
789         * config/os/gnu-linux/os_defines.h: Define
790         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
791         * include/c_global/cmath (isinf, isnan): Check it.
792         * doc/xml/manual/internals.xml: Document it.
793         * doc/html/*: Regenerate.
795 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
797         PR libstdc++/69406
798         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
799         * include/ext/type_traits.h: Likewise.
800         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
801         for presence of C headers.
802         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
803         dg-error line number.
804         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
805         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
806         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
808 2016-01-20  Torvald Riegel  <triegel@redhat.com>
810         PR libstdc++/69310
811         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
813 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
815         PR libstdc++/60401
816         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
817         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
818         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
819         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
820         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
821         Add using declarations.
822         * testsuite/26_numerics/headers/cmath/60401.cc: New.
824         PR libstdc++/69386
825         * include/c_global/ccomplex: Ensure C++ language linkage.
826         * include/c_global/cmath: Likewise.
827         * include/c_global/cstdlib: Likewise.
828         * include/c_global/ctgmath: Likewise.
829         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
831 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
833         PR libstdc++/14608
834         PR libstdc++/60401
835         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
836         --enable-cheaders=c_global configs.
837         * include/Makefile.in: Regenerate.
838         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
839         test and allow inclusion from C files.
840         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
841         (at_quick_exit, quick_exit): Add using directives.
842         * include/c_global/cmath: Use #include_next for math.h.
843         * include/c_global/cstdlib: Use #include_next for stdlib.h.
844         * testsuite/26_numerics/headers/cmath/14608.cc: New.
845         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
846         Remove xfail for most targets.
847         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
849 2016-01-18  Torvald Riegel  <triegel@redhat.com>
851         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
852         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
853         and move after its definition.
854         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
855         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
856         __GXX_WEAK__, and only provide transactional clones if
857         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
858         functions.
860 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
862         PR libstdc++/60637
863         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
865         PR libstdc++/69243
866         * include/std/functional (_Function_base::_M_not_empty_function):
867         Change overloads for pointers to take arguments by value.
868         * testsuite/20_util/function/cons/57465.cc: Add tests for
869         pointer-to-member cases.
871         PR libstdc++/69340
872         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
873         Use macros for exception handling and fix unused parameter warning.
875 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
877         PR libstdc++/68734
878         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
880 2016-01-17  Torvald Riegel  <triegel@redhat.com>
882         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
884 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
886         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
887         __int128 symbols.
889 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
891         PR libstdc++/69293
892         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
893         static assertion that type is constructible from the arguments.
894         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
895         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
896         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
898         PR libstdc++/69294
899         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
900         and isnan on AIX. Quote variables.
901         * configure: Regenerate.
903 2016-01-15  Torvald Riegel  <triegel@redhat.com>
905         * include/bits/basic_string.h (basic_string): Declare friends.
906         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
907         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
908         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
909         length_error, out_of_range, runtime_error, range_error,
910         underflow_error, overflow_error): Declare members as transaction-safe.
911         (logic_error, runtime_error): Declare friend functions.
912         * libsupc++/exception (exception, bad_exception): Declare members as
913         transaction-safe.
914         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
915         transaction-safe members of exceptions and helper functions.
916         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
917         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
918         (CXXABI_1.3.10): New.
919         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
920         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
921         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
922         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
923         * include/Makefile.in: Regenerate.
924         * config.h.in: Regenerate.
925         * configure: Regenerate.
926         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
928 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
930         * include/ext/random.tcc: Use __builtin_isfinite instead of
931         std::isfinite.
933 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
935         * include/bits/std_mutex.h: Fix Doxygen @file name.
937 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
938             Jonathan Wakely  <jwakely@redhat.com>
939             Florian Goth <CaptainSifff@gmx.de>
941         Implement TR29124 C++ special Math Functions.
942         * include/Makefile.am: Add new headers.
943         * include/Makefile.in: Regenerate.
944         * include/bits/specfun.h: New.
945         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
946         * include/tr1/bessel_function.tcc: Ditto.
947         * include/tr1/beta_function.tcc: Ditto.
948         * include/tr1/cmath: Ditto.
949         * include/tr1/ell_integral.tcc: Ditto.
950         * include/tr1/exp_integral.tcc: Ditto.
951         * include/tr1/gamma.tcc: Ditto.
952         * include/tr1/hypergeometric.tcc: Ditto.
953         * include/tr1/legendre_function.tcc: Ditto.
954         * include/tr1/modified_bessel_func.tcc: Ditto.
955         * include/tr1/poly_hermite.tcc: Ditto.
956         * include/tr1/poly_laguerre.tcc: Ditto.
957         * include/tr1/riemann_zeta.tcc: Ditto.
958         * include/tr1/special_function_util.h: Ditto.
959         * testsuite/ext/special_functions/conf_hyperg: New.
960         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
961         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
962         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
963         * testsuite/ext/special_functions/hyperg: New.
964         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
965         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
966         * testsuite/ext/special_functions/hyperg/compile.cc: New.
967         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
968         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
969         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
970         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
971         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
972         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
973         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
974         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
975         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
976         * testsuite/special_functions/03_beta/check_nan.cc: New.
977         * testsuite/special_functions/03_beta/check_value.cc: New.
978         * testsuite/special_functions/03_beta/compile.cc: New.
979         * testsuite/special_functions/03_beta/compile_2.cc: New.
980         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
981         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
982         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
983         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
984         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
985         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
986         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
987         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
988         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
989         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
990         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
991         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
992         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
993         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
994         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
995         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
996         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
997         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
998         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
999         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
1000         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
1001         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
1002         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
1003         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
1004         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
1005         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
1006         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
1007         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
1008         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
1009         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
1010         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
1011         * testsuite/special_functions/11_ellint_1/compile.cc: New.
1012         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
1013         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
1014         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
1015         * testsuite/special_functions/12_ellint_2/compile.cc: New.
1016         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
1017         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
1018         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
1019         * testsuite/special_functions/13_ellint_3/compile.cc: New.
1020         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
1021         * testsuite/special_functions/14_expint/check_nan.cc: New.
1022         * testsuite/special_functions/14_expint/check_value.cc: New.
1023         * testsuite/special_functions/14_expint/compile.cc: New.
1024         * testsuite/special_functions/14_expint/compile_2.cc: New.
1025         * testsuite/special_functions/15_hermite/check_nan.cc: New.
1026         * testsuite/special_functions/15_hermite/check_value.cc: New.
1027         * testsuite/special_functions/15_hermite/compile.cc: New.
1028         * testsuite/special_functions/15_hermite/compile_2.cc: New.
1029         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
1030         * testsuite/special_functions/16_laguerre/check_value.cc: New.
1031         * testsuite/special_functions/16_laguerre/compile.cc: New.
1032         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
1033         * testsuite/special_functions/17_legendre/check_nan.cc: New.
1034         * testsuite/special_functions/17_legendre/check_value.cc: New.
1035         * testsuite/special_functions/17_legendre/compile.cc: New.
1036         * testsuite/special_functions/17_legendre/compile_2.cc: New.
1037         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
1038         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
1039         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
1040         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
1041         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
1042         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
1043         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
1044         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
1045         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
1046         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
1047         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
1048         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
1049         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
1050         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
1051         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
1052         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
1053         * testsuite/util/specfun_testcase.h: New.
1054         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
1055         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
1056         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
1057         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
1058         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
1059         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
1060         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
1062 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
1064         PR libstdc++/48891
1065         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1066         and isnan functions.
1067         * config.h.in: Regenerate.
1068         * configure: Regenerate.
1069         * include/c_global/cmath (isinf(double), isnan(double))
1070         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
1071         * testsuite/26_numerics/headers/cmath/48891.cc: New.
1073 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1075         PR libstdc++/66006
1076         * configure.host (abi_baseline_pair): Use separate baseline for
1077         Solaris 11+ and Solaris 10 with gld.
1078         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
1079         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
1080         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
1082 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
1084         PR libstdc++/68877
1085         * include/std/type_traits: Following N4511, reimplement __is_swappable
1086         and __is_nothrow_swappable. Move __is_swappable to namespace std,
1087         adjust callers. Use __is_nothrow_swappable in swap.
1088         * include/bits/move.h: Use __is_nothrow_swappable in swap.
1089         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
1090         __is_swappable related tests.
1091         * testsuite/20_util/is_swappable/value.cc: New.
1092         * testsuite/20_util/is_swappable/requirements/
1093         explicit_instantiation.cc: New.
1094         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
1095         * testsuite/25_algorithms/swap/68877.cc: New.
1097 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
1099         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
1101         PR libstdc++/69005
1102         PR libstdc++/69222
1103         * include/std/functional (function::_Invoke): Remove, use result_of.
1104         (function::_Callable): Replace alias template with class template
1105         and use partial specialization instead of _NotSelf alias template.
1106         (function(_Functor)): Add "not self" constraint so that _Callable is
1107         not used while type is incomplete.
1108         * testsuite/20_util/function/69222.cc: New.
1110 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
1112         PR libstdc++/60976
1113         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
1114         Define partial specialization.
1115         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
1116         destroy members to std::allocator explicit specialization.
1118 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
1120         * testsuite/26_numerics/headers/cmath/
1121         c99_classification_macros_c++.cc: Rename to ...
1122         * testsuite/26_numerics/headers/cmath/
1123         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
1124         * testsuite/26_numerics/headers/cmath/
1125         c99_classification_macros_c++0x.cc: Rename to ...
1126         * testsuite/26_numerics/headers/cmath/
1127         c99_classification_macros_c++11.cc: Here.
1129         PR libstdc++/69190
1130         * include/bits/uses_allocator.h: Add missing include.
1132 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
1134         PR libstdc++/69105
1135         PR libstdc++/69106
1136         PR libstdc++/69114
1137         * include/bits/stl_iterator.h (back_insert_iterator,
1138         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
1139         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
1140         * include/std/future (__future::base::_State_baseV2::__setter):
1141         Likewise.
1142         * include/std/scoped_allocator (__outermost): Likewise.
1143         * testsuite/20_util/scoped_allocator/69114.cc: New.
1144         * testsuite/20_util/uses_allocator/69114.cc: New.
1145         * testsuite/30_threads/promise/69106.cc: New.
1147 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
1149         PR libstdc++/69092
1150         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
1151         Remove _GLIBCXX_NOEXCEPT.
1152         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
1154         * include/Makefile.am: Adjust.
1155         * include/Makefile.in: Regenerate.
1156         * include/bits/mutex.h: Rename to bits/std_mutex.h.
1157         * include/std/condition_variable: Adjust include.
1158         * include/std/mutex: Likewise.
1160 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
1162         Update copyright years.
1164 Copyright (C) 2016 Free Software Foundation, Inc.
1166 Copying and distribution of this file, with or without modification,
1167 are permitted in any medium without royalty provided the copyright
1168 notice and this notice are preserved.