2016-01-17 John David Anglin PR libstdc++/68734 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 2016-01-17 Torvald Riegel * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert. 2016-01-16 H.J. Lu * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add __int128 symbols. 2016-01-15 Jonathan Wakely PR libstdc++/69293 * include/bits/uses_allocator.h (__uses_alloc): Add static assertion that type is constructible from the arguments. * testsuite/20_util/scoped_allocator/69293_neg.cc: New. * testsuite/20_util/uses_allocator/69293_neg.cc: New. * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error. PR libstdc++/69294 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf and isnan on AIX. Quote variables. * configure: Regenerate. 2016-01-15 Torvald Riegel * include/bits/basic_string.h (basic_string): Declare friends. * include/bits/c++config (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New. * include/std/stdexcept (logic_error, domain_error, invalid_argument, length_error, out_of_range, runtime_error, range_error, underflow_error, overflow_error): Declare members as transaction-safe. (logic_error, runtime_error): Declare friend functions. * libsupc++/exception (exception, bad_exception): Declare members as transaction-safe. * src/c++11/cow-stdexcept.cc: Define transactional clones for the transaction-safe members of exceptions and helper functions. * libsupc++/eh_exception.cc: Adjust and define transactional clones. * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones. (CXXABI_1.3.10): New. * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New. (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW. * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING. * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h. * include/Makefile.in: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10. 2016-01-15 Steve Ellcey * include/ext/random.tcc: Use __builtin_isfinite instead of std::isfinite. 2016-01-15 Jonathan Wakely * include/bits/std_mutex.h: Fix Doxygen @file name. 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net> Jonathan Wakely Florian Goth Implement TR29124 C++ special Math Functions. * include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * include/bits/specfun.h: New. * include/c_global/cmath: Adjust for both tr1 and tr29124 maths. * include/tr1/bessel_function.tcc: Ditto. * include/tr1/beta_function.tcc: Ditto. * include/tr1/cmath: Ditto. * include/tr1/ell_integral.tcc: Ditto. * include/tr1/exp_integral.tcc: Ditto. * include/tr1/gamma.tcc: Ditto. * include/tr1/hypergeometric.tcc: Ditto. * include/tr1/legendre_function.tcc: Ditto. * include/tr1/modified_bessel_func.tcc: Ditto. * include/tr1/poly_hermite.tcc: Ditto. * include/tr1/poly_laguerre.tcc: Ditto. * include/tr1/riemann_zeta.tcc: Ditto. * include/tr1/special_function_util.h: Ditto. * testsuite/ext/special_functions/conf_hyperg: New. * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New. * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New. * testsuite/ext/special_functions/conf_hyperg/compile.cc: New. * testsuite/ext/special_functions/hyperg: New. * testsuite/ext/special_functions/hyperg/check_nan.cc: New. * testsuite/ext/special_functions/hyperg/check_value.cc: New. * testsuite/ext/special_functions/hyperg/compile.cc: New. * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory. * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New. * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New. * testsuite/special_functions/01_assoc_laguerre/compile.cc: New. * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New. * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New. * testsuite/special_functions/02_assoc_legendre/check_value.cc: New. * testsuite/special_functions/02_assoc_legendre/compile.cc: New. * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New. * testsuite/special_functions/03_beta/check_nan.cc: New. * testsuite/special_functions/03_beta/check_value.cc: New. * testsuite/special_functions/03_beta/compile.cc: New. * testsuite/special_functions/03_beta/compile_2.cc: New. * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New. * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New. * testsuite/special_functions/04_comp_ellint_1/compile.cc: New. * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New. * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New. * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New. * testsuite/special_functions/05_comp_ellint_2/compile.cc: New. * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New. * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New. * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New. * testsuite/special_functions/06_comp_ellint_3/compile.cc: New. * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New. * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New. * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New. * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New. * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New. * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New. * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New. * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New. * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New. * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New. * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New. * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New. * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New. * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New. * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New. * testsuite/special_functions/10_cyl_neumann/check_value.cc: New. * testsuite/special_functions/10_cyl_neumann/compile.cc: New. * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New. * testsuite/special_functions/11_ellint_1/check_nan.cc: New. * testsuite/special_functions/11_ellint_1/check_value.cc: New. * testsuite/special_functions/11_ellint_1/compile.cc: New. * testsuite/special_functions/11_ellint_1/compile_2.cc: New. * testsuite/special_functions/12_ellint_2/check_nan.cc: New. * testsuite/special_functions/12_ellint_2/check_value.cc: New. * testsuite/special_functions/12_ellint_2/compile.cc: New. * testsuite/special_functions/12_ellint_2/compile_2.cc: New. * testsuite/special_functions/13_ellint_3/check_nan.cc: New. * testsuite/special_functions/13_ellint_3/check_value.cc: New. * testsuite/special_functions/13_ellint_3/compile.cc: New. * testsuite/special_functions/13_ellint_3/compile_2.cc: New. * testsuite/special_functions/14_expint/check_nan.cc: New. * testsuite/special_functions/14_expint/check_value.cc: New. * testsuite/special_functions/14_expint/compile.cc: New. * testsuite/special_functions/14_expint/compile_2.cc: New. * testsuite/special_functions/15_hermite/check_nan.cc: New. * testsuite/special_functions/15_hermite/check_value.cc: New. * testsuite/special_functions/15_hermite/compile.cc: New. * testsuite/special_functions/15_hermite/compile_2.cc: New. * testsuite/special_functions/16_laguerre/check_nan.cc: New. * testsuite/special_functions/16_laguerre/check_value.cc: New. * testsuite/special_functions/16_laguerre/compile.cc: New. * testsuite/special_functions/16_laguerre/compile_2.cc: New. * testsuite/special_functions/17_legendre/check_nan.cc: New. * testsuite/special_functions/17_legendre/check_value.cc: New. * testsuite/special_functions/17_legendre/compile.cc: New. * testsuite/special_functions/17_legendre/compile_2.cc: New. * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New. * testsuite/special_functions/18_riemann_zeta/check_value.cc: New. * testsuite/special_functions/18_riemann_zeta/compile.cc: New. * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New. * testsuite/special_functions/19_sph_bessel/check_nan.cc: New. * testsuite/special_functions/19_sph_bessel/check_value.cc: New. * testsuite/special_functions/19_sph_bessel/compile.cc: New. * testsuite/special_functions/19_sph_bessel/compile_2.cc: New. * testsuite/special_functions/20_sph_legendre/check_nan.cc: New. * testsuite/special_functions/20_sph_legendre/check_value.cc: New. * testsuite/special_functions/20_sph_legendre/compile.cc: New. * testsuite/special_functions/20_sph_legendre/compile_2.cc: New. * testsuite/special_functions/21_sph_neumann/check_nan.cc: New. * testsuite/special_functions/21_sph_neumann/check_value.cc: New. * testsuite/special_functions/21_sph_neumann/compile.cc: New. * testsuite/special_functions/21_sph_neumann/compile_2.cc: New. * testsuite/util/specfun_testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases. * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New. 2016-01-13 Jonathan Wakely PR libstdc++/48891 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf and isnan functions. * config.h.in: Regenerate. * configure: Regenerate. * include/c_global/cmath (isinf(double), isnan(double)) [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive. * testsuite/26_numerics/headers/cmath/48891.cc: New. 2016-01-13 Rainer Orth PR libstdc++/66006 * configure.host (abi_baseline_pair): Use separate baseline for Solaris 11+ and Solaris 10 with gld. * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file. * config/abi/post/solaris2.11/baseline_symbols.txt: New file. * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file. 2016-01-12 Daniel Kruegler PR libstdc++/68877 * include/std/type_traits: Following N4511, reimplement __is_swappable and __is_nothrow_swappable. Move __is_swappable to namespace std, adjust callers. Use __is_nothrow_swappable in swap. * include/bits/move.h: Use __is_nothrow_swappable in swap. * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove __is_swappable related tests. * testsuite/20_util/is_swappable/value.cc: New. * testsuite/20_util/is_swappable/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/is_swappable/requirements/typedefs.cc: New. * testsuite/25_algorithms/swap/68877.cc: New. 2016-01-12 Jonathan Wakely * testsuite/20_util/function/68995.cc: Test reference_wrapper cases. PR libstdc++/69005 PR libstdc++/69222 * include/std/functional (function::_Invoke): Remove, use result_of. (function::_Callable): Replace alias template with class template and use partial specialization instead of _NotSelf alias template. (function(_Functor)): Add "not self" constraint so that _Callable is not used while type is incomplete. * testsuite/20_util/function/69222.cc: New. 2016-01-11 Jonathan Wakely PR libstdc++/60976 * include/bits/alloc_traits.h (allocator_traits>): Define partial specialization. * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and destroy members to std::allocator explicit specialization. 2016-01-08 Jonathan Wakely * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++.cc: Rename to ... * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++98.cc: Here and add -std=gnu++98. * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++0x.cc: Rename to ... * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++11.cc: Here. PR libstdc++/69190 * include/bits/uses_allocator.h: Add missing include. 2016-01-07 Jonathan Wakely PR libstdc++/69105 PR libstdc++/69106 PR libstdc++/69114 * include/bits/stl_iterator.h (back_insert_iterator, front_insert_iterator, insert_iterator): Use __addressof (LWG 2324). * include/bits/uses_allocator.h (__use_alloc): Use __addressof. * include/std/future (__future::base::_State_baseV2::__setter): Likewise. * include/std/scoped_allocator (__outermost): Likewise. * testsuite/20_util/scoped_allocator/69114.cc: New. * testsuite/20_util/uses_allocator/69114.cc: New. * testsuite/30_threads/promise/69106.cc: New. 2016-01-06 Jonathan Wakely PR libstdc++/69092 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>): Remove _GLIBCXX_NOEXCEPT. testsuite/21_strings/basic_string/cons/char/69092.cc: New. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. * include/bits/mutex.h: Rename to bits/std_mutex.h. * include/std/condition_variable: Adjust include. * include/std/mutex: Likewise. 2016-01-04 Jakub Jelinek Update copyright years. Copyright (C) 2016 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.