Fix std::codecvt_utf8* for big-endian targets
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobe6934a5972ef10ea387e7daabe1f80ac11fc3f9d
1 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/69703
4         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
5         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
7 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
9         PR libstdc++/69703
10         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
11         Override endianness bit in mode.
12         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
13         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
14         that little_endian mode is ignored.
15         * testsuite/experimental/filesystem/path/native/string.cc: New test.
17         PR libstdc++/70609
18         * src/filesystem/ops.cc (close_fd): New function.
19         (do_copy_file): Set permissions before copying file contents. Check
20         result of closing file descriptors. Don't copy streambuf when file
21         is empty.
22         (copy(const path&, const path&, copy_options, error_code&)): Use
23         lstat for source file when copy_symlinks is set.
24         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
26         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
27         operator~ operator&=, operator|=, operator^=): Add noexcept to
28         overloaded operators for copy_options, perms and directory_options.
29         * src/filesystem/ops.cc (make_file_type, make_file_status,
30         is_not_found_errno, file_time): Add noexcept.
32 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
34         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
36 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
38         PR libstdc++/41759
39         * include/bits/random.h: Reword static assertion messages to state
40         positive conditions.
41         * include/bits/random.tcc: Likewise.
42         * include/bits/uniform_int_dist.h: Likewise.
43         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
44         patterns.
46         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
48         * config/cpu/sh/atomicity.h: Fix typo in comment.
50         PR libstdc++/70294
51         * include/std/thread (operator<, operator==): Move definitions to
52         namespace-scope.
53         * testsuite/30_threads/thread/id/70294.cc: New test.
55         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
56         -Wno-pedantic to dg-options.
57         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
58         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
59         to dg-options.
60         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
61         Remove extra semi-colon.
62         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
63         Always supply second argument to static_assert.
64         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
65         semi-colon.
66         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
67         dg-options.
68         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
69         * testsuite/29_atomics/atomic/60695.cc: Likewise.
70         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
71         alignof when operand is an object not a type.
72         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
73         * testsuite/decimal/make-decimal.cc: Likewise.
74         * testsuite/experimental/type_traits/value.cc: Always supply second
75         argument to static_assert.
76         * testsuite/util/testsuite_common_types.h: Use __extension__ for
77         __int128 types.
79         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
80         internal header.
81         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
82         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
83         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
84         Likewise. Add licence and change to compile-only test.
86         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
87         unused parameter.
88         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
90         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
91         warnings.
93 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
95         * include/bits/specfun.h: Trivial comment misspelling.
97 2016-04-14  Jason Merrill  <jason@redhat.com>
99         Revert Jonathan's empty ABI change from yesterday.
101 2016-04-13  Martin Sebor  <msebor@redhat.com>
103         PR c++/69517
104         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
105         upper bound is positive.
107 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
109         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
110         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
111         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
112         of functions taking empty structs by value. Add a template parameter
113         to overloads without hints. Rename overloads with hints to
114         _M_emplace_hint.
115         (_Hashtable::_M_erase(true_type, const_iterator),
116         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
117         by reordering parameters.
118         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
119         _M_emplace_hint instead of _M_emplace.
120         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
121         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
122         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
123         __shared_ptr): Likewise.
124         * include/bits/stl_algo.h (replace_if): Likewise.
125         * include/bits/stl_pair.h (piecewise_construct_t,
126         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
127         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
128         __uses_alloc0): Likewise.
129         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
130         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
131         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
132         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
133         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
134         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
135         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
137 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
139         Document C++17/TR29124 C++ Special Math Functions.
140         * include/bits/specfun.h: Add Doxygen markup.
142 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
144         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
146 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
148         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
149         * src/Makefile.in: Regenerate.
151 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
153         PR libstdc++/70554
154         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
155         __atomic_fetch_add for bool.
156         * configure: Regenerate.
158         * testsuite/30_threads/thread/70503.cc: Require -static to work.
160         PR libstdc++/70503
161         * src/c++11/thread.cc (execute_native_thread_routine,
162         execute_native_thread_routine_compat): Give internal linkage.
163         * testsuite/30_threads/thread/70503.cc: New test.
165 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
167         PR libstdc++/70437
168         * include/bits/stl_pair.h (_ConstructiblePair,
169         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
170         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
171         for same-type cases.
172         * testsuite/20_util/pair/70437.cc: New.
174 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
176         PR libstdc++/69945
177         * config/abi/pre/gnu.ver: Add new symbol.
178         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
179         * testsuite/18_support/free_eh_pool.cc: New test.
181 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
183         * include/Makefile.am (install-freestanding-headers): Add
184         concept_check.h and move.h to the installed headers.
185         * include/Makefile.in: Regenerated.
186         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
187         freestanding implementations.
188         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
189         that this macro has no effect for freestanding implementations.
190         * doc/html/manual/using_macros.html: Likewise.
192 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
194         PR libstdc++/69939
195         * include/experimental/tuple (__apply_impl): Qualify get and forward.
197 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
199         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
200         * doc/html/*: Regenerate.
202         PR libstdc++/69893
203         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
204         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
205         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
206         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
207         trunc) [__cplusplus >= 201103L]: Import from namespace std.
208         (fabs) [__cplusplus < 201103L]: Import from namespace std.
209         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
210         Likewise.
211         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
212         namespace before including TR1 headers.
213         * testsuite/tr1/headers/c++200x/math.cc: New test.
215 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
217         PR libstdc++/69881
218         * include/c_global/cstdarg: Undefine __need___va_list.
219         * include/c_global/cstddef: Undefine all kinds of __need_*.
221 2016-02-16  Tim Shen  <timshen@google.com>
223         PR libstdc++/69794
224         * include/bits/regex_scanner.h: Add different special character
225         sets for grep and egrep regex.
226         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
227         * testsuite/28_regex/regression.cc: Add new testcase.
229 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
231         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
232         added 'constexpr' in previous commit.
233         * configure: Regenerate.
235         PR libstdc++/48891
236         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
237         checks for all targets except *-*-solaris2.* and ensure we find the
238         libc math.h header not our own.
239         * configure: Regenerate.
241 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
243         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
244         New file.  Copied over from s390-linux-gnu.
246 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
248         PR libstdc++/69626
249         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
250         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
251         * config.h.in: Regenerate.
252         * configure: Regenerate.
253         * testsuite/21_strings/c_strings/char/69626.cc: New.
255         * doc/html/index.html: Regenerate.
257         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
258         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
259         * doc/html/*: Regenerate.
261 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
263         PR libstdc++/69581
264         * include/c_compatibility/math.h: Move header guards.
265         * include/c_compatibility/stdlib.h: Likewise.
267 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
269         PR libstdc++/69506
270         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
272 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
274         PR libstdc++/69450
275         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
276         isinf and isnan functions into two independent checks.  Check on hpux.
277         * config.h.in: Regenerate.
278         * configure: Regenerate.
279         * include/c_global/cmath (isinf(double), isnan(double)): Use
280         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
281         respectively.
283 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
285         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
287 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
289         PR libstdc++/69295
290         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
291         -ffp-contract=off, and -ffloat-store to disable excess precision.
292         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
293         -ffp-contract=off.
295 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
297         PR libstdc++/69478
298         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
299         random_access_iterator_tag>): Check is_move_assignable when moving.
300         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
301         Likewise.
302         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
303         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
304         * testsuite/25_algorithms/move/69478.cc: New.
305         * testsuite/25_algorithms/move_backward/69478.cc: new.
307 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
309         * include/c_compatibility/stdlib.h: Include wide character related
310         definitions only when they are available in cstdlib.
312 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
314         PR libstdc++/69464
315         * include/Makefile.am: Add new header.
316         * include/Makefile.in: Regenerate.
317         * include/bits/random.h (uniform_int_distribution): Move to
318         bits/uniform_int_dist.h.
319         * include/bits/random.tcc (uniform_int_distribution::operator(),
320         uniform_int_distribution::__generate_impl): Likewise.
321         * include/bits/uniform_int_dist.h: New header.
322         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
323         <bits/uniform_int_dist.h> instead of <random>.
324         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
325         move_iterators/1.cc: Include correct header for uninitialized_copy.
326         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
327         move_iterators/1.cc: Likewise.
328         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
329         header for vector.
330         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
332 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
334         PR libstdc++/69446
335         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
337 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
339         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
340         * include/c_compatibility/math.h: Import the TR29124 functions
341         into the global namespace.
342         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
343         xfail and make compile-only.
344         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
345         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
346         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
347         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
348         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
349         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
350         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
351         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
352         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
353         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
354         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
355         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
356         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
357         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
358         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
359         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
360         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
361         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
362         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
363         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
365 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
367         PR libstdc++/69116
368         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
369         define result_type for types which can be safely used with valarrays.
370         * testsuite/26_numerics/valarray/69116.cc: New.
372         PR libstdc++/69413
373         * config/os/gnu-linux/os_defines.h: Define
374         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
375         * include/c_global/cmath (isinf, isnan): Check it.
376         * doc/xml/manual/internals.xml: Document it.
377         * doc/html/*: Regenerate.
379 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
381         PR libstdc++/69406
382         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
383         * include/ext/type_traits.h: Likewise.
384         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
385         for presence of C headers.
386         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
387         dg-error line number.
388         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
389         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
390         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
392 2016-01-20  Torvald Riegel  <triegel@redhat.com>
394         PR libstdc++/69310
395         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
397 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
399         PR libstdc++/60401
400         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
401         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
402         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
403         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
404         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
405         Add using declarations.
406         * testsuite/26_numerics/headers/cmath/60401.cc: New.
408         PR libstdc++/69386
409         * include/c_global/ccomplex: Ensure C++ language linkage.
410         * include/c_global/cmath: Likewise.
411         * include/c_global/cstdlib: Likewise.
412         * include/c_global/ctgmath: Likewise.
413         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
415 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
417         PR libstdc++/14608
418         PR libstdc++/60401
419         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
420         --enable-cheaders=c_global configs.
421         * include/Makefile.in: Regenerate.
422         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
423         test and allow inclusion from C files.
424         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
425         (at_quick_exit, quick_exit): Add using directives.
426         * include/c_global/cmath: Use #include_next for math.h.
427         * include/c_global/cstdlib: Use #include_next for stdlib.h.
428         * testsuite/26_numerics/headers/cmath/14608.cc: New.
429         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
430         Remove xfail for most targets.
431         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
433 2016-01-18  Torvald Riegel  <triegel@redhat.com>
435         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
436         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
437         and move after its definition.
438         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
439         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
440         __GXX_WEAK__, and only provide transactional clones if
441         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
442         functions.
444 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
446         PR libstdc++/60637
447         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
449         PR libstdc++/69243
450         * include/std/functional (_Function_base::_M_not_empty_function):
451         Change overloads for pointers to take arguments by value.
452         * testsuite/20_util/function/cons/57465.cc: Add tests for
453         pointer-to-member cases.
455         PR libstdc++/69340
456         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
457         Use macros for exception handling and fix unused parameter warning.
459 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
461         PR libstdc++/68734
462         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
464 2016-01-17  Torvald Riegel  <triegel@redhat.com>
466         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
468 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
470         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
471         __int128 symbols.
473 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
475         PR libstdc++/69293
476         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
477         static assertion that type is constructible from the arguments.
478         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
479         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
480         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
482         PR libstdc++/69294
483         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
484         and isnan on AIX. Quote variables.
485         * configure: Regenerate.
487 2016-01-15  Torvald Riegel  <triegel@redhat.com>
489         * include/bits/basic_string.h (basic_string): Declare friends.
490         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
491         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
492         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
493         length_error, out_of_range, runtime_error, range_error,
494         underflow_error, overflow_error): Declare members as transaction-safe.
495         (logic_error, runtime_error): Declare friend functions.
496         * libsupc++/exception (exception, bad_exception): Declare members as
497         transaction-safe.
498         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
499         transaction-safe members of exceptions and helper functions.
500         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
501         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
502         (CXXABI_1.3.10): New.
503         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
504         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
505         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
506         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
507         * include/Makefile.in: Regenerate.
508         * config.h.in: Regenerate.
509         * configure: Regenerate.
510         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
512 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
514         * include/ext/random.tcc: Use __builtin_isfinite instead of
515         std::isfinite.
517 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
519         * include/bits/std_mutex.h: Fix Doxygen @file name.
521 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
522             Jonathan Wakely  <jwakely@redhat.com>
523             Florian Goth <CaptainSifff@gmx.de>
525         Implement TR29124 C++ special Math Functions.
526         * include/Makefile.am: Add new headers.
527         * include/Makefile.in: Regenerate.
528         * include/bits/specfun.h: New.
529         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
530         * include/tr1/bessel_function.tcc: Ditto.
531         * include/tr1/beta_function.tcc: Ditto.
532         * include/tr1/cmath: Ditto.
533         * include/tr1/ell_integral.tcc: Ditto.
534         * include/tr1/exp_integral.tcc: Ditto.
535         * include/tr1/gamma.tcc: Ditto.
536         * include/tr1/hypergeometric.tcc: Ditto.
537         * include/tr1/legendre_function.tcc: Ditto.
538         * include/tr1/modified_bessel_func.tcc: Ditto.
539         * include/tr1/poly_hermite.tcc: Ditto.
540         * include/tr1/poly_laguerre.tcc: Ditto.
541         * include/tr1/riemann_zeta.tcc: Ditto.
542         * include/tr1/special_function_util.h: Ditto.
543         * testsuite/ext/special_functions/conf_hyperg: New.
544         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
545         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
546         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
547         * testsuite/ext/special_functions/hyperg: New.
548         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
549         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
550         * testsuite/ext/special_functions/hyperg/compile.cc: New.
551         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
552         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
553         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
554         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
555         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
556         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
557         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
558         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
559         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
560         * testsuite/special_functions/03_beta/check_nan.cc: New.
561         * testsuite/special_functions/03_beta/check_value.cc: New.
562         * testsuite/special_functions/03_beta/compile.cc: New.
563         * testsuite/special_functions/03_beta/compile_2.cc: New.
564         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
565         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
566         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
567         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
568         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
569         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
570         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
571         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
572         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
573         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
574         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
575         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
576         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
577         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
578         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
579         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
580         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
581         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
582         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
583         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
584         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
585         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
586         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
587         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
588         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
589         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
590         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
591         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
592         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
593         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
594         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
595         * testsuite/special_functions/11_ellint_1/compile.cc: New.
596         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
597         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
598         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
599         * testsuite/special_functions/12_ellint_2/compile.cc: New.
600         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
601         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
602         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
603         * testsuite/special_functions/13_ellint_3/compile.cc: New.
604         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
605         * testsuite/special_functions/14_expint/check_nan.cc: New.
606         * testsuite/special_functions/14_expint/check_value.cc: New.
607         * testsuite/special_functions/14_expint/compile.cc: New.
608         * testsuite/special_functions/14_expint/compile_2.cc: New.
609         * testsuite/special_functions/15_hermite/check_nan.cc: New.
610         * testsuite/special_functions/15_hermite/check_value.cc: New.
611         * testsuite/special_functions/15_hermite/compile.cc: New.
612         * testsuite/special_functions/15_hermite/compile_2.cc: New.
613         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
614         * testsuite/special_functions/16_laguerre/check_value.cc: New.
615         * testsuite/special_functions/16_laguerre/compile.cc: New.
616         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
617         * testsuite/special_functions/17_legendre/check_nan.cc: New.
618         * testsuite/special_functions/17_legendre/check_value.cc: New.
619         * testsuite/special_functions/17_legendre/compile.cc: New.
620         * testsuite/special_functions/17_legendre/compile_2.cc: New.
621         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
622         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
623         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
624         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
625         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
626         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
627         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
628         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
629         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
630         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
631         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
632         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
633         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
634         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
635         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
636         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
637         * testsuite/util/specfun_testcase.h: New.
638         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
639         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
640         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
641         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
642         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
643         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
644         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
646 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
648         PR libstdc++/48891
649         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
650         and isnan functions.
651         * config.h.in: Regenerate.
652         * configure: Regenerate.
653         * include/c_global/cmath (isinf(double), isnan(double))
654         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
655         * testsuite/26_numerics/headers/cmath/48891.cc: New.
657 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
659         PR libstdc++/66006
660         * configure.host (abi_baseline_pair): Use separate baseline for
661         Solaris 11+ and Solaris 10 with gld.
662         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
663         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
664         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
666 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
668         PR libstdc++/68877
669         * include/std/type_traits: Following N4511, reimplement __is_swappable
670         and __is_nothrow_swappable. Move __is_swappable to namespace std,
671         adjust callers. Use __is_nothrow_swappable in swap.
672         * include/bits/move.h: Use __is_nothrow_swappable in swap.
673         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
674         __is_swappable related tests.
675         * testsuite/20_util/is_swappable/value.cc: New.
676         * testsuite/20_util/is_swappable/requirements/
677         explicit_instantiation.cc: New.
678         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
679         * testsuite/25_algorithms/swap/68877.cc: New.
681 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
683         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
685         PR libstdc++/69005
686         PR libstdc++/69222
687         * include/std/functional (function::_Invoke): Remove, use result_of.
688         (function::_Callable): Replace alias template with class template
689         and use partial specialization instead of _NotSelf alias template.
690         (function(_Functor)): Add "not self" constraint so that _Callable is
691         not used while type is incomplete.
692         * testsuite/20_util/function/69222.cc: New.
694 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
696         PR libstdc++/60976
697         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
698         Define partial specialization.
699         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
700         destroy members to std::allocator explicit specialization.
702 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
704         * testsuite/26_numerics/headers/cmath/
705         c99_classification_macros_c++.cc: Rename to ...
706         * testsuite/26_numerics/headers/cmath/
707         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
708         * testsuite/26_numerics/headers/cmath/
709         c99_classification_macros_c++0x.cc: Rename to ...
710         * testsuite/26_numerics/headers/cmath/
711         c99_classification_macros_c++11.cc: Here.
713         PR libstdc++/69190
714         * include/bits/uses_allocator.h: Add missing include.
716 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
718         PR libstdc++/69105
719         PR libstdc++/69106
720         PR libstdc++/69114
721         * include/bits/stl_iterator.h (back_insert_iterator,
722         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
723         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
724         * include/std/future (__future::base::_State_baseV2::__setter):
725         Likewise.
726         * include/std/scoped_allocator (__outermost): Likewise.
727         * testsuite/20_util/scoped_allocator/69114.cc: New.
728         * testsuite/20_util/uses_allocator/69114.cc: New.
729         * testsuite/30_threads/promise/69106.cc: New.
731 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
733         PR libstdc++/69092
734         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
735         Remove _GLIBCXX_NOEXCEPT.
736         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
738         * include/Makefile.am: Adjust.
739         * include/Makefile.in: Regenerate.
740         * include/bits/mutex.h: Rename to bits/std_mutex.h.
741         * include/std/condition_variable: Adjust include.
742         * include/std/mutex: Likewise.
744 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
746         Update copyright years.
748 Copyright (C) 2016 Free Software Foundation, Inc.
750 Copying and distribution of this file, with or without modification,
751 are permitted in any medium without royalty provided the copyright
752 notice and this notice are preserved.