Commit Graph

7361 Commits

Author SHA1 Message Date
Jonathan Wakely
d75d9f91e3 Fix PR number in changelog for commit r232504
From-SVN: r232507
2016-01-18 12:34:22 +00:00
Jonathan Wakely
9c5ad80efd Fix construction of std::function from null pointer-to-member
PR libstdc++/69293
	* include/std/functional (_Function_base::_M_not_empty_function):
	Change overloads for pointers to take arguments by value.
	* testsuite/20_util/function/cons/57465.cc: Add tests for
	pointer-to-member cases.

From-SVN: r232504
2016-01-18 11:43:37 +00:00
Jonathan Wakely
f5460595a4 Fix libstdc++ build with -fno-exceptions
PR libstdc++/69340
	* src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
	Use macros for exception handling and fix unused parameter warning.

From-SVN: r232502
2016-01-18 11:24:20 +00:00
John David Anglin
271366f679 re PR libstdc++/68734 (FAIL: libstdc++-abi/abi_check)
PR libstdc++/68734
	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r232486
2016-01-17 18:16:42 +00:00
Torvald Riegel
7a5d1d34ee libstdc++: Fix static_assert.
* src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.

From-SVN: r232483
2016-01-17 17:43:37 +00:00
H.J. Lu
5445d5bff0 Add __int128 symbols to x32 aseline_symbols.txt
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
	__int128 symbols.

From-SVN: r232474
2016-01-16 14:52:21 -08:00
Jonathan Wakely
d7c1581c04 Use static assertion for uses-allocator construction
PR libstdc++/69293
	* include/bits/uses_allocator.h (__uses_alloc<true, ...>): 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.

From-SVN: r232457
2016-01-15 23:12:13 +00:00
Jonathan Wakely
3d076231c6 PR libstdc++/69294 Check for isinf and isnan on AIX
PR libstdc++/69294
	* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
	and isnan on AIX. Quote variables.
	* configure: Regenerate.

From-SVN: r232455
2016-01-15 23:00:30 +00:00
Torvald Riegel
a04d5fc95d libstdc++: Make certain exceptions transaction_safe.
From-SVN: r232454
2016-01-15 22:42:41 +00:00
Steve Ellcey
cebeb718fe random.tcc: Use __builtin_isfinite instead of std::isfinite.
2016-01-15  Steve Ellcey  <sellcey@imgtec.com>

	* include/ext/random.tcc: Use __builtin_isfinite instead of
	std::isfinite.

From-SVN: r232452
2016-01-15 22:26:02 +00:00
Jonathan Wakely
3b07547d62 * include/bits/std_mutex.h: Fix Doxygen @file name.
From-SVN: r232416
2016-01-15 12:37:15 +00:00
Edward Smith-Rowland
2be75957b8 Implement TR29124 C++ special Math Functions.
2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
	    Jonathan Wakely  <jwakely@redhat.com>
	    Florian Goth <CaptainSifff@gmx.de>

	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.


Co-Authored-By: Florian Goth <CaptainSifff@gmx.de>
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r232377
2016-01-14 18:12:43 +00:00
Jonathan Wakely
39a1d8c894 Use ::isinf and ::isnan if libc defines them
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.

From-SVN: r232327
2016-01-13 16:25:56 +00:00
Rainer Orth
e862906c25 Introduce separate baselines for Solaris 10 and 11+ (PR libstdc++/66006)
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.

From-SVN: r232317
2016-01-13 09:48:53 +00:00
Daniel Kruegler
26b5ace7ea libstdc++/68877 Reimplement std::__is_swappable
2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>

	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.

From-SVN: r232296
2016-01-12 21:19:58 +00:00
Jonathan Wakely
bd285a8bdb Extend std::function test for PR 68995
* testsuite/20_util/function/68995.cc: Test reference_wrapper cases.

From-SVN: r232294
2016-01-12 19:39:47 +00:00
Jonathan Wakely
1c3c7c4145 Prevent recursive instantiation in std::function
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.

From-SVN: r232273
2016-01-12 14:54:33 +00:00
Jonathan Wakely
1517bc3008 allocator_traits<allocator<T>> partial specialization
PR libstdc++/60976
	* include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
	Define partial specialization.
	* testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
	destroy members to std::allocator explicit specialization.

From-SVN: r232232
2016-01-11 16:47:58 +00:00
Jonathan Wakely
8babc12b22 Use -std option in test for C99 macros in <cmath>
* 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.

From-SVN: r232165
2016-01-08 14:59:36 +00:00
Jonathan Wakely
32a8c97f5c Fix PR number in previous commit
From-SVN: r232163
2016-01-08 13:19:25 +00:00
Jonathan Wakely
e525d78caa Add missing include for std::__addressof
PR libstdc++/69160
	* include/bits/uses_allocator.h: Add missing include.

From-SVN: r232162
2016-01-08 13:14:01 +00:00
Jonathan Wakely
f885fa898f Use std::addressof in insert iterators, allocators and promises
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.

From-SVN: r232129
2016-01-07 15:01:33 +00:00
Jonathan Wakely
373a75fb2a Remove noexcept from function template that can throw
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.

From-SVN: r232112
2016-01-06 20:34:41 +00:00
Jonathan Wakely
0c3e5dd1e6 Rename bits/mutex.h to avoid clashing with glibc
* 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.

From-SVN: r232101
2016-01-06 13:00:33 +00:00
Jakub Jelinek
818ab71a41 Update copyright years.
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Edward Smith-Rowland
9be77061cf 2015-12-27 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/bits/c++0x_warning.h Remove experimental language.

From-SVN: r231966
2015-12-28 00:07:19 +00:00
Jason Merrill
b4a0c79b1a Correct use of __GXX_WEAK__ macro.
* testsuite/ext/bitmap_allocator/check_deallocate_null.cc
	* testsuite/ext/bitmap_allocator/check_allocate_max_size.cc

From-SVN: r231953
2015-12-24 22:25:09 -05:00
Jonathan Wakely
9643ce888b Add inline to std::__invfwd
PR libstdc++/59768
	* include/std/functional (__invfwd): Add inline specifier.

From-SVN: r231900
2015-12-22 11:37:07 +00:00
Jonathan Wakely
989d4a8609 Rename test file that had incorrect bug number
PR libstdc++/68982
	testsuite/20_util/function_objects/mem_fn/68276.cc: Rename to ...
	testsuite/20_util/function_objects/mem_fn/68982.cc: Correct bug number.

From-SVN: r231881
2015-12-21 14:16:36 +00:00
Jonathan Wakely
a716d11ad4 libstdc++/68995 qualify calls to __callable_functor
PR libstdc++/68995
	* include/std/functional (_function_handler, function): Qualify
	__callable_functor.
	* testsuite/20_util/function/68995.cc: New.

From-SVN: r231880
2015-12-21 13:02:18 +00:00
Jonathan Wakely
e9e6a99538 libstdc++/68276 consistently qualify std::forward
PR libstdc++/68276
	* include/std/functional (__invoke_impl, _Mem_fn::operator()): Qualify
	std::forward.
	testsuite/20_util/function_objects/mem_fn/68276.cc: New.

From-SVN: r231879
2015-12-21 13:02:12 +00:00
Ville Voutilainen
de0830e12b re PR libstdc++/66693 ([C++17] std::tuple_size fails with const std::array)
PR libstdc++/66693.

	* include/std/tuple (tuple_element, tuple_size, tuple_element_t,
	__tuple_element_t): Move to...
	* include/std/utility: ...here.
	* testsuite/20_util/pair/astuple/astuple.cc: Adjust.
	* testsuite/20_util/pair/astuple/astuple_cpp14.cc: New.
	* testsuite/20_util/tuple/tuple_element.cc: Adjust.
	* testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
	* testsuite/20_util/tuple/tuple_size.cc: Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
	Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc:
	New.
	* testsuite/23_containers/array/tuple_interface/tuple_size.cc: Adjust.

From-SVN: r231875
2015-12-21 13:22:16 +02:00
Ville Voutilainen
ca2c1b3283 Fix a regression introduced by the fix of libstdc++/68276.
2015-12-18  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Fix a regression introduced by the fix of libstdc++/68276.
	* src/c++11/ios.cc (_M_grow_words): Catch bad_alloc again so that
	bad_array_new_length is handled properly.

From-SVN: r231839
2015-12-18 23:27:53 +02:00
Ville Voutilainen
03d5d0c353 re PR libstdc++/68276 (ios_base::_M_grow_words should use new (std::nothrow))
2015-12-18  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR libstdc++/68276

	* src/c++11/ios.cc (_M_grow_words): Use nothrow new.
	* testsuite/27_io/ios_base/storage/11584.cc: Adjust.

From-SVN: r231819
2015-12-18 17:17:09 +02:00
Andris Pavenis
c1dd339fa0 [DJGPP] Update config/os/djgpp/error_constants.h
* config/os/djgpp/error_constants.h: update according to DJGPP errno
       macros.

From-SVN: r231801
2015-12-18 06:28:01 +02:00
Jonathan Wakely
55089c2b5c libstdc++/68921 add timeout argument to futex(2)
PR libstdc++/68921
	* src/c++11/futex.cc
	(__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer
	as timeout argument.

From-SVN: r231676
2015-12-16 10:40:04 +00:00
Jonathan Wakely
b110e777bd Restore accidentally-removed volatile qualifier
* include/std/functional (_Mu<_Arg, false, false>::operator()): Restore
	accidentally-removed volatile qualifier.

From-SVN: r231660
2015-12-15 17:06:25 +00:00
Jonathan Wakely
72030b28a1 Remove vestigial traces of std::tr1::bind
* include/std/functional (is_placeholder, is_bind_expression): Update
	comments.
	(_Safe_tuple_element): Replace with _Safe_tuple_element_t alias
	template.
	(_Mu): Remove vestigial TR1 return types and update coments.

From-SVN: r231653
2015-12-15 14:17:27 +00:00
Jonathan Wakely
6666731254 Fix cv-qualifiers in std::bind invocation
PR libstdc++/68912
	* include/std/functional (_Bind::operator()): Use lvalue functor to
	deduce return type.
	* testsuite/20_util/bind/68912.cc: New.

From-SVN: r231652
2015-12-15 14:17:17 +00:00
Tim Shen
3ce38f68f9 re PR libstdc++/68863 (Regular expressions: Backreferences don't work in negative lookahead)
PR libstdc++/68863
	* include/bits/regex_executor.tcc (_Executor::_M_lookahead):
	Copy the captured content for lookahead, so that the backreferences
	inside can refer to them.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
	New testcase.

From-SVN: r231641
2015-12-15 04:50:29 +00:00
Ville Voutilainen
f5a8c224d1 Bad date on the Changelog entry, boo hiss.
From-SVN: r231612
2015-12-14 13:11:03 +02:00
Ville Voutilainen
5d190d2124 Document the implementation of Logical Operator Type Traits.
* doc/html/index.html: Regenerate.
	* doc/html/manual/status.html: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Add P0013R1 to C++ 201z
	and to Library Fundamentals 2 TS.

From-SVN: r231611
2015-12-14 13:08:30 +02:00
Jonathan Wakely
f3d7dd52a6 Fix std::invoke support for reference_wrappers
PR libstdc++/59768
	* include/std/functional (_Unwrap, __invfwd): Define.
	(__invoke_impl): Remove reference_wrapper overloads and use __invfwd.
	* include/std/type_traits (__result_of_memobj, __result_of_memfun):
	Add partial specializations for const reference_wrappers and simplify.
	* testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors.
	* testsuite/20_util/function_objects/invoke/59768.cc: New.

From-SVN: r231574
2015-12-11 21:45:51 +00:00
Ville Voutilainen
e3fc446b9c re PR libstdc++/68139 (rethrow_if_nested should tolerate overloaded unary operator&)
PR libstdc++/68139

From-SVN: r231562
2015-12-11 14:04:23 +02:00
Jonathan Wakely
b2a485f2b0 Change tests to use -std=gnu++14 not -std=gnu++1y
* testsuite/experimental/memory/shared_ptr/assign/assign.cc: Replace
	-std=gnu++1y with -std=gnu++14.
	* testsuite/experimental/memory/shared_ptr/cast/cast.cc: Likewise.
	* testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
	* testsuite/experimental/memory/shared_ptr/modifiers/reset.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/modifiers/swap.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/observers/operators.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
	Likewise.
	* testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
	Likewise.

From-SVN: r231517
2015-12-10 14:39:07 +00:00
Jonathan Wakely
aca12aff8b Fix dejagnu directives in shared_ptr test
PR libstdc++/68825
	* include/experimental/bits/shared_ptr.h (__shared_ptr, __weak_ptr,
	experimental::shared_ptr, experimental::weak_ptr): Constrain
	assignment operators.
	* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
	Change to a compile-only test and change dg-excess-errors to dg-error.

From-SVN: r231516
2015-12-10 14:32:16 +00:00
Jonathan Wakely
6b4f890601 Improve generated libstdc++ API docs
* doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers
	to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update
	PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages.
	* include/backward/strstream: Correct @file comment.
	* include/bits/forward_list.h: Improve Doxygen comments.
	* include/bits/locale_facets_nonio.h: Likewise.
	* include/bits/mutex.h: Likewise.
	* include/bits/shared_ptr.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/debug/vector (_Safe_vector): Add @brief section to comment.
	* include/experimental/bits/fs_dir.h: Correct @file comment.
	* include/experimental/bits/fs_fwd.h: Likewise.
	* include/experimental/bits/fs_ops.h: Likewise.
	* include/experimental/bits/fs_path.h: Likewise.
	* include/experimental/bits/string_view.tcc: Likewise.
	* include/experimental/optional: Document experimental status.
	* include/experimental/string_view: Correct @file comment.
	* include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce
	whitespace to avoid Doxygen bug.
	* include/std/bitset: Remove redundant @class Doxygen command. Add
	parentheses to avoid Doxygen bug.
	* include/std/mutex: Improve Doxygen comments.
	* include/tr2/dynamic_bitset: Add missing @param documentation.
	* scripts/run_doxygen: Rename man pages for std::experimental types.

From-SVN: r231512
2015-12-10 14:02:52 +00:00
Jonathan Wakely
755be51d02 PR libstdc++/57060 cope with invalid thread IDs
PR libstdc++/57060
	* include/std/thread (operator==(thread::id, thread::id)): Do not use
	__gthread_equal.
	(operator<(thread::id, thread::id)): Add comment.
	(this_thread::get_id()): Do not use __gthread_self for single-threaded
	programs using glibc.
	* testsuite/30_threads/this_thread/57060.cc: New.

From-SVN: r231289
2015-12-04 17:32:40 +00:00
Jonathan Wakely
28eca950b7 Fix ambiguity with multiple enable_shared_from_this bases
PR libstdc++/56383
	* testsuite/20_util/enable_shared_from_this/56383.cc: New.
	* include/bits/shared_ptr_base.h (__enable_shared_from_this): Make
	friend declaration match previous declaration of
	__enable_shared_from_this_helper.
	* include/bits/shared_ptr.h (enable_shared_from_this): Likewise.

From-SVN: r231181
2015-12-02 15:08:18 +00:00
Jonathan Wakely
22f5095f31 Define path::_Cmpt after specializing path::__is_encoded_char
* include/experimental/bits/fs_path.h (path::_Cmpt): Move definition
	after path::__is_encoded_char explicit specializations.

From-SVN: r231107
2015-12-01 11:33:17 +00:00