* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Add missing tests for vreinte...
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobfb48cec2701bacdc4d5147422c302239717e4502
1 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/71073
4         * include/debug/bitset: Add #pragma GCC system_header.
5         * include/debug/deque: Likewise.
6         * include/debug/list: Likewise.
7         * include/debug/map: Likewise.
8         * include/debug/set: Likewise.
9         * include/debug/string: Likewise.
10         * include/debug/unordered_map: Likewise.
11         * include/debug/unordered_set: Likewise.
12         * include/debug/vector: Likewise.
13         * include/debug/functions.h: Adjust whitespace.
15 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
17         PR libstdc++/71081
18         * testsuite/experimental/memory_resource/1.cc: Require atomics.
20 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
22         PR libstdc++/71049
23         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
24         exception constructors with __sso_string parameters.
26 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
28         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
29         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
30         Test begin and end functions.
31         * testsuite/experimental/filesystem/iterators/
32         recursive_directory_iterator.cc: Likewise.
34         PR libstdc++/71038
35         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
36         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
38         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
39         Overload operator* to move from rvalues.
41         PR libstdc++/71036
42         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
43         * testsuite/experimental/filesystem/operations/create_directory.cc:
44         New test.
46         PR libstdc++/71037
47         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
48         base path to exception.
49         * testsuite/experimental/filesystem/operations/canonical.cc: Test
50         paths contained in exception.
52         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
53         using declaration.
55         PR libstdc++/71005
56         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
57         New type.
58         (directory_iterator::operator++(int)): Return proxy.
59         (recursive_directory_iterator::operator++(int)): Likewise.
60         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
61         Test post-increment.
62         * testsuite/experimental/filesystem/iterators/
63         recursive_directory_iterator.cc: Likewise.
65 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
67         PR libstdc++/71004
68         * testsuite/experimental/filesystem/iterators/
69         recursive_directory_iterator.cc: Fix test02 to not call member
70         functions on invalid iterator, and use VERIFY not assert.
72 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
74         Avoid endless run-time recursion for copying single-element
75         tuples where the element type is by-value constructible
76         from any type.
77         * include/std/tuple (_NotSameTuple): New.
78         * include/std/tuple (tuple(_UElements&&...): Use it.
79         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
81 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
83         PR libstdc++/71004
84         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
85         Initialize scalar member variables in default constructor.
86         * testsuite/experimental/filesystem/iterators/
87         recursive_directory_iterator.cc: Test default construction.
89 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
91         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
93 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
95         * testsuite/experimental/filesystem/path/native/string.cc: Add
96         dg-require-filesystem-ts directive.
98 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
100         PR libstdc++/70940
101         * include/experimental/memory_resource
102         (__resource_adaptor_imp::do_allocate): Do not default-construct
103         rebound allocator.
104         (__resource_adaptor_imp::do_deallocate): Likewise. Use
105         allocator_traits to get pointer type.
106         (__null_memory_resource::do_allocate): Remove unused parameters.
107         (__null_memory_resource::do_deallocate): Likewise.
108         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
109         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
110         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
111         move to ...
112         * testsuite/experimental/memory_resource/1.cc: Here.
113         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
114         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
116 2016-04-29  Chris Gregory  <czipperz@gmail.com>
118         * config/*: Remove trailing whitespace.
119         * src/*: Likewise.
120         * testsuite/tr1/*: Likewise.
121         * testsuite/util/*: Likewise.
123 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
125         PR libstdc++/70766
126         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
127         __addressof.
128         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
129         Likewise.
130         * include/std/atomic (atomic<_Tp>): Likewise.
131         * include/std/shared_mutex (shared_lock): Likewise.
132         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
133         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
134         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
135         * testsuite/29_atomics/atomic/70766.cc: New test.
136         * testsuite/30_threads/shared_lock/70766.cc: New test.
138         * include/bits/hashtable_policy.h (__detail::_Insert_base,
139         __detail::_Insert): Improve comments.
141 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
143         PR libstdc++/70767
144         * include/std/limits: Update comments about DRs.
145         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
146         numeric_limits<const volatile _Tp>): Define unconditionally.
148 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
150         PR libstdc++/70762
151         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
152         static counter to return a different path on every call.
154 2016-04-22  Tim Shen  <timshen@google.com>
156         PR libstdc++/70745
157         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
158         Fix the match_not_bow and match_not_eow behavior.
159         * testsuite/28_regex/regression.cc: Add testcase.
161 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
163         PR libstdc++/69703
164         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
165         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
167 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
169         PR libstdc++/69703
170         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
171         Override endianness bit in mode.
172         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
173         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
174         that little_endian mode is ignored.
175         * testsuite/experimental/filesystem/path/native/string.cc: New test.
177         PR libstdc++/70609
178         * src/filesystem/ops.cc (close_fd): New function.
179         (do_copy_file): Set permissions before copying file contents. Check
180         result of closing file descriptors. Don't copy streambuf when file
181         is empty.
182         (copy(const path&, const path&, copy_options, error_code&)): Use
183         lstat for source file when copy_symlinks is set.
184         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
186         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
187         operator~ operator&=, operator|=, operator^=): Add noexcept to
188         overloaded operators for copy_options, perms and directory_options.
189         * src/filesystem/ops.cc (make_file_type, make_file_status,
190         is_not_found_errno, file_time): Add noexcept.
192 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
194         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
196 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
198         PR libstdc++/41759
199         * include/bits/random.h: Reword static assertion messages to state
200         positive conditions.
201         * include/bits/random.tcc: Likewise.
202         * include/bits/uniform_int_dist.h: Likewise.
203         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
204         patterns.
206         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
208         * config/cpu/sh/atomicity.h: Fix typo in comment.
210         PR libstdc++/70294
211         * include/std/thread (operator<, operator==): Move definitions to
212         namespace-scope.
213         * testsuite/30_threads/thread/id/70294.cc: New test.
215         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
216         -Wno-pedantic to dg-options.
217         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
218         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
219         to dg-options.
220         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
221         Remove extra semi-colon.
222         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
223         Always supply second argument to static_assert.
224         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
225         semi-colon.
226         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
227         dg-options.
228         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
229         * testsuite/29_atomics/atomic/60695.cc: Likewise.
230         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
231         alignof when operand is an object not a type.
232         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
233         * testsuite/decimal/make-decimal.cc: Likewise.
234         * testsuite/experimental/type_traits/value.cc: Always supply second
235         argument to static_assert.
236         * testsuite/util/testsuite_common_types.h: Use __extension__ for
237         __int128 types.
239         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
240         internal header.
241         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
242         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
243         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
244         Likewise. Add licence and change to compile-only test.
246         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
247         unused parameter.
248         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
250         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
251         warnings.
253 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
255         * include/bits/specfun.h: Trivial comment misspelling.
257 2016-04-14  Jason Merrill  <jason@redhat.com>
259         Revert Jonathan's empty ABI change from yesterday.
261 2016-04-13  Martin Sebor  <msebor@redhat.com>
263         PR c++/69517
264         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
265         upper bound is positive.
267 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
269         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
270         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
271         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
272         of functions taking empty structs by value. Add a template parameter
273         to overloads without hints. Rename overloads with hints to
274         _M_emplace_hint.
275         (_Hashtable::_M_erase(true_type, const_iterator),
276         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
277         by reordering parameters.
278         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
279         _M_emplace_hint instead of _M_emplace.
280         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
281         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
282         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
283         __shared_ptr): Likewise.
284         * include/bits/stl_algo.h (replace_if): Likewise.
285         * include/bits/stl_pair.h (piecewise_construct_t,
286         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
287         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
288         __uses_alloc0): Likewise.
289         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
290         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
291         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
292         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
293         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
294         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
295         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
297 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
299         Document C++17/TR29124 C++ Special Math Functions.
300         * include/bits/specfun.h: Add Doxygen markup.
302 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
304         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
306 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
308         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
309         * src/Makefile.in: Regenerate.
311 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
313         PR libstdc++/70554
314         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
315         __atomic_fetch_add for bool.
316         * configure: Regenerate.
318         * testsuite/30_threads/thread/70503.cc: Require -static to work.
320         PR libstdc++/70503
321         * src/c++11/thread.cc (execute_native_thread_routine,
322         execute_native_thread_routine_compat): Give internal linkage.
323         * testsuite/30_threads/thread/70503.cc: New test.
325 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
327         PR libstdc++/70437
328         * include/bits/stl_pair.h (_ConstructiblePair,
329         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
330         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
331         for same-type cases.
332         * testsuite/20_util/pair/70437.cc: New.
334 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
336         PR libstdc++/69945
337         * config/abi/pre/gnu.ver: Add new symbol.
338         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
339         * testsuite/18_support/free_eh_pool.cc: New test.
341 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
343         * include/Makefile.am (install-freestanding-headers): Add
344         concept_check.h and move.h to the installed headers.
345         * include/Makefile.in: Regenerated.
346         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
347         freestanding implementations.
348         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
349         that this macro has no effect for freestanding implementations.
350         * doc/html/manual/using_macros.html: Likewise.
352 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
354         PR libstdc++/69939
355         * include/experimental/tuple (__apply_impl): Qualify get and forward.
357 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
359         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
360         * doc/html/*: Regenerate.
362         PR libstdc++/69893
363         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
364         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
365         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
366         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
367         trunc) [__cplusplus >= 201103L]: Import from namespace std.
368         (fabs) [__cplusplus < 201103L]: Import from namespace std.
369         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
370         Likewise.
371         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
372         namespace before including TR1 headers.
373         * testsuite/tr1/headers/c++200x/math.cc: New test.
375 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
377         PR libstdc++/69881
378         * include/c_global/cstdarg: Undefine __need___va_list.
379         * include/c_global/cstddef: Undefine all kinds of __need_*.
381 2016-02-16  Tim Shen  <timshen@google.com>
383         PR libstdc++/69794
384         * include/bits/regex_scanner.h: Add different special character
385         sets for grep and egrep regex.
386         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
387         * testsuite/28_regex/regression.cc: Add new testcase.
389 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
391         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
392         added 'constexpr' in previous commit.
393         * configure: Regenerate.
395         PR libstdc++/48891
396         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
397         checks for all targets except *-*-solaris2.* and ensure we find the
398         libc math.h header not our own.
399         * configure: Regenerate.
401 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
403         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
404         New file.  Copied over from s390-linux-gnu.
406 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
408         PR libstdc++/69626
409         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
410         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
411         * config.h.in: Regenerate.
412         * configure: Regenerate.
413         * testsuite/21_strings/c_strings/char/69626.cc: New.
415         * doc/html/index.html: Regenerate.
417         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
418         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
419         * doc/html/*: Regenerate.
421 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
423         PR libstdc++/69581
424         * include/c_compatibility/math.h: Move header guards.
425         * include/c_compatibility/stdlib.h: Likewise.
427 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
429         PR libstdc++/69506
430         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
432 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
434         PR libstdc++/69450
435         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
436         isinf and isnan functions into two independent checks.  Check on hpux.
437         * config.h.in: Regenerate.
438         * configure: Regenerate.
439         * include/c_global/cmath (isinf(double), isnan(double)): Use
440         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
441         respectively.
443 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
445         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
447 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
449         PR libstdc++/69295
450         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
451         -ffp-contract=off, and -ffloat-store to disable excess precision.
452         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
453         -ffp-contract=off.
455 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
457         PR libstdc++/69478
458         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
459         random_access_iterator_tag>): Check is_move_assignable when moving.
460         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
461         Likewise.
462         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
463         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
464         * testsuite/25_algorithms/move/69478.cc: New.
465         * testsuite/25_algorithms/move_backward/69478.cc: new.
467 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
469         * include/c_compatibility/stdlib.h: Include wide character related
470         definitions only when they are available in cstdlib.
472 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
474         PR libstdc++/69464
475         * include/Makefile.am: Add new header.
476         * include/Makefile.in: Regenerate.
477         * include/bits/random.h (uniform_int_distribution): Move to
478         bits/uniform_int_dist.h.
479         * include/bits/random.tcc (uniform_int_distribution::operator(),
480         uniform_int_distribution::__generate_impl): Likewise.
481         * include/bits/uniform_int_dist.h: New header.
482         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
483         <bits/uniform_int_dist.h> instead of <random>.
484         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
485         move_iterators/1.cc: Include correct header for uninitialized_copy.
486         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
487         move_iterators/1.cc: Likewise.
488         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
489         header for vector.
490         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
492 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
494         PR libstdc++/69446
495         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
497 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
499         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
500         * include/c_compatibility/math.h: Import the TR29124 functions
501         into the global namespace.
502         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
503         xfail and make compile-only.
504         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
505         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
506         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
507         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
508         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
509         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
510         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
511         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
512         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
513         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
514         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
515         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
516         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
517         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
518         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
519         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
520         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
521         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
522         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
523         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
525 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
527         PR libstdc++/69116
528         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
529         define result_type for types which can be safely used with valarrays.
530         * testsuite/26_numerics/valarray/69116.cc: New.
532         PR libstdc++/69413
533         * config/os/gnu-linux/os_defines.h: Define
534         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
535         * include/c_global/cmath (isinf, isnan): Check it.
536         * doc/xml/manual/internals.xml: Document it.
537         * doc/html/*: Regenerate.
539 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
541         PR libstdc++/69406
542         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
543         * include/ext/type_traits.h: Likewise.
544         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
545         for presence of C headers.
546         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
547         dg-error line number.
548         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
549         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
550         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
552 2016-01-20  Torvald Riegel  <triegel@redhat.com>
554         PR libstdc++/69310
555         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
557 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
559         PR libstdc++/60401
560         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
561         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
562         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
563         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
564         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
565         Add using declarations.
566         * testsuite/26_numerics/headers/cmath/60401.cc: New.
568         PR libstdc++/69386
569         * include/c_global/ccomplex: Ensure C++ language linkage.
570         * include/c_global/cmath: Likewise.
571         * include/c_global/cstdlib: Likewise.
572         * include/c_global/ctgmath: Likewise.
573         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
575 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
577         PR libstdc++/14608
578         PR libstdc++/60401
579         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
580         --enable-cheaders=c_global configs.
581         * include/Makefile.in: Regenerate.
582         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
583         test and allow inclusion from C files.
584         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
585         (at_quick_exit, quick_exit): Add using directives.
586         * include/c_global/cmath: Use #include_next for math.h.
587         * include/c_global/cstdlib: Use #include_next for stdlib.h.
588         * testsuite/26_numerics/headers/cmath/14608.cc: New.
589         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
590         Remove xfail for most targets.
591         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
593 2016-01-18  Torvald Riegel  <triegel@redhat.com>
595         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
596         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
597         and move after its definition.
598         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
599         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
600         __GXX_WEAK__, and only provide transactional clones if
601         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
602         functions.
604 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
606         PR libstdc++/60637
607         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
609         PR libstdc++/69243
610         * include/std/functional (_Function_base::_M_not_empty_function):
611         Change overloads for pointers to take arguments by value.
612         * testsuite/20_util/function/cons/57465.cc: Add tests for
613         pointer-to-member cases.
615         PR libstdc++/69340
616         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
617         Use macros for exception handling and fix unused parameter warning.
619 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
621         PR libstdc++/68734
622         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
624 2016-01-17  Torvald Riegel  <triegel@redhat.com>
626         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
628 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
630         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
631         __int128 symbols.
633 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
635         PR libstdc++/69293
636         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
637         static assertion that type is constructible from the arguments.
638         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
639         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
640         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
642         PR libstdc++/69294
643         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
644         and isnan on AIX. Quote variables.
645         * configure: Regenerate.
647 2016-01-15  Torvald Riegel  <triegel@redhat.com>
649         * include/bits/basic_string.h (basic_string): Declare friends.
650         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
651         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
652         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
653         length_error, out_of_range, runtime_error, range_error,
654         underflow_error, overflow_error): Declare members as transaction-safe.
655         (logic_error, runtime_error): Declare friend functions.
656         * libsupc++/exception (exception, bad_exception): Declare members as
657         transaction-safe.
658         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
659         transaction-safe members of exceptions and helper functions.
660         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
661         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
662         (CXXABI_1.3.10): New.
663         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
664         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
665         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
666         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
667         * include/Makefile.in: Regenerate.
668         * config.h.in: Regenerate.
669         * configure: Regenerate.
670         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
672 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
674         * include/ext/random.tcc: Use __builtin_isfinite instead of
675         std::isfinite.
677 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
679         * include/bits/std_mutex.h: Fix Doxygen @file name.
681 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
682             Jonathan Wakely  <jwakely@redhat.com>
683             Florian Goth <CaptainSifff@gmx.de>
685         Implement TR29124 C++ special Math Functions.
686         * include/Makefile.am: Add new headers.
687         * include/Makefile.in: Regenerate.
688         * include/bits/specfun.h: New.
689         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
690         * include/tr1/bessel_function.tcc: Ditto.
691         * include/tr1/beta_function.tcc: Ditto.
692         * include/tr1/cmath: Ditto.
693         * include/tr1/ell_integral.tcc: Ditto.
694         * include/tr1/exp_integral.tcc: Ditto.
695         * include/tr1/gamma.tcc: Ditto.
696         * include/tr1/hypergeometric.tcc: Ditto.
697         * include/tr1/legendre_function.tcc: Ditto.
698         * include/tr1/modified_bessel_func.tcc: Ditto.
699         * include/tr1/poly_hermite.tcc: Ditto.
700         * include/tr1/poly_laguerre.tcc: Ditto.
701         * include/tr1/riemann_zeta.tcc: Ditto.
702         * include/tr1/special_function_util.h: Ditto.
703         * testsuite/ext/special_functions/conf_hyperg: New.
704         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
705         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
706         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
707         * testsuite/ext/special_functions/hyperg: New.
708         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
709         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
710         * testsuite/ext/special_functions/hyperg/compile.cc: New.
711         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
712         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
713         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
714         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
715         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
716         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
717         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
718         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
719         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
720         * testsuite/special_functions/03_beta/check_nan.cc: New.
721         * testsuite/special_functions/03_beta/check_value.cc: New.
722         * testsuite/special_functions/03_beta/compile.cc: New.
723         * testsuite/special_functions/03_beta/compile_2.cc: New.
724         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
725         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
726         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
727         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
728         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
729         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
730         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
731         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
732         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
733         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
734         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
735         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
736         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
737         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
738         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
739         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
740         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
741         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
742         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
743         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
744         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
745         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
746         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
747         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
748         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
749         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
750         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
751         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
752         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
753         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
754         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
755         * testsuite/special_functions/11_ellint_1/compile.cc: New.
756         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
757         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
758         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
759         * testsuite/special_functions/12_ellint_2/compile.cc: New.
760         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
761         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
762         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
763         * testsuite/special_functions/13_ellint_3/compile.cc: New.
764         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
765         * testsuite/special_functions/14_expint/check_nan.cc: New.
766         * testsuite/special_functions/14_expint/check_value.cc: New.
767         * testsuite/special_functions/14_expint/compile.cc: New.
768         * testsuite/special_functions/14_expint/compile_2.cc: New.
769         * testsuite/special_functions/15_hermite/check_nan.cc: New.
770         * testsuite/special_functions/15_hermite/check_value.cc: New.
771         * testsuite/special_functions/15_hermite/compile.cc: New.
772         * testsuite/special_functions/15_hermite/compile_2.cc: New.
773         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
774         * testsuite/special_functions/16_laguerre/check_value.cc: New.
775         * testsuite/special_functions/16_laguerre/compile.cc: New.
776         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
777         * testsuite/special_functions/17_legendre/check_nan.cc: New.
778         * testsuite/special_functions/17_legendre/check_value.cc: New.
779         * testsuite/special_functions/17_legendre/compile.cc: New.
780         * testsuite/special_functions/17_legendre/compile_2.cc: New.
781         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
782         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
783         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
784         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
785         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
786         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
787         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
788         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
789         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
790         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
791         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
792         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
793         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
794         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
795         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
796         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
797         * testsuite/util/specfun_testcase.h: New.
798         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
799         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
800         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
801         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
802         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
803         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
804         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
806 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
808         PR libstdc++/48891
809         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
810         and isnan functions.
811         * config.h.in: Regenerate.
812         * configure: Regenerate.
813         * include/c_global/cmath (isinf(double), isnan(double))
814         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
815         * testsuite/26_numerics/headers/cmath/48891.cc: New.
817 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
819         PR libstdc++/66006
820         * configure.host (abi_baseline_pair): Use separate baseline for
821         Solaris 11+ and Solaris 10 with gld.
822         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
823         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
824         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
826 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
828         PR libstdc++/68877
829         * include/std/type_traits: Following N4511, reimplement __is_swappable
830         and __is_nothrow_swappable. Move __is_swappable to namespace std,
831         adjust callers. Use __is_nothrow_swappable in swap.
832         * include/bits/move.h: Use __is_nothrow_swappable in swap.
833         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
834         __is_swappable related tests.
835         * testsuite/20_util/is_swappable/value.cc: New.
836         * testsuite/20_util/is_swappable/requirements/
837         explicit_instantiation.cc: New.
838         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
839         * testsuite/25_algorithms/swap/68877.cc: New.
841 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
843         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
845         PR libstdc++/69005
846         PR libstdc++/69222
847         * include/std/functional (function::_Invoke): Remove, use result_of.
848         (function::_Callable): Replace alias template with class template
849         and use partial specialization instead of _NotSelf alias template.
850         (function(_Functor)): Add "not self" constraint so that _Callable is
851         not used while type is incomplete.
852         * testsuite/20_util/function/69222.cc: New.
854 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
856         PR libstdc++/60976
857         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
858         Define partial specialization.
859         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
860         destroy members to std::allocator explicit specialization.
862 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
864         * testsuite/26_numerics/headers/cmath/
865         c99_classification_macros_c++.cc: Rename to ...
866         * testsuite/26_numerics/headers/cmath/
867         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
868         * testsuite/26_numerics/headers/cmath/
869         c99_classification_macros_c++0x.cc: Rename to ...
870         * testsuite/26_numerics/headers/cmath/
871         c99_classification_macros_c++11.cc: Here.
873         PR libstdc++/69190
874         * include/bits/uses_allocator.h: Add missing include.
876 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
878         PR libstdc++/69105
879         PR libstdc++/69106
880         PR libstdc++/69114
881         * include/bits/stl_iterator.h (back_insert_iterator,
882         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
883         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
884         * include/std/future (__future::base::_State_baseV2::__setter):
885         Likewise.
886         * include/std/scoped_allocator (__outermost): Likewise.
887         * testsuite/20_util/scoped_allocator/69114.cc: New.
888         * testsuite/20_util/uses_allocator/69114.cc: New.
889         * testsuite/30_threads/promise/69106.cc: New.
891 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
893         PR libstdc++/69092
894         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
895         Remove _GLIBCXX_NOEXCEPT.
896         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
898         * include/Makefile.am: Adjust.
899         * include/Makefile.in: Regenerate.
900         * include/bits/mutex.h: Rename to bits/std_mutex.h.
901         * include/std/condition_variable: Adjust include.
902         * include/std/mutex: Likewise.
904 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
906         Update copyright years.
908 Copyright (C) 2016 Free Software Foundation, Inc.
910 Copying and distribution of this file, with or without modification,
911 are permitted in any medium without royalty provided the copyright
912 notice and this notice are preserved.