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
Jonathan Wakely
5930d87a2d
Ensure another pretty-printer test uses C++98 mode
...
* testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to
dg-options and avoid use of uniform-init.
From-SVN: r230977
2015-11-26 16:25:55 +00:00
Jonathan Wakely
43a2362b94
Ensure pretty-printer test uses C++98 mode
...
* testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to
dg-options and avoid use of uniform-init.
From-SVN: r230973
2015-11-26 15:42:47 +00:00
David Edelsohn
f95207445b
* configure: Regenerate.
...
From-SVN: r230949
2015-11-26 08:24:19 -05:00
Jonathan Wakely
75837d7b13
Improve tests for valid values of iostream bitmask types
...
* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly
check minimum and maximum values, and size of underlying type.
* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
From-SVN: r230868
2015-11-25 13:49:06 +00:00
Rainer Orth
e5ef217c3e
Port libvtv to Solaris
...
libstdc++-v3:
* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
-Wl,-R in VTV_CXXLINKFLAGS.
* configure: Regenerate.
* testsuite/18_support/bad_exception/23591_thread-1.c: Use
-fvtable-verify=none on Solaris 12+.
libgcc:
* Makefile.in (VTV_CFLAGS): New variable.
(vtv_start$(objext), vtv_end$(objext), vtv_end$(objext))
(vtv_start_preinit$(objext), vtv_end_preinit$(objext)): Use it.
* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
Add vtv_start.o, vtv_end.o, vtv_start_preinit.o, vtv_end_preinit.o
to extra_parts if $enable_vtable_verify = yes.
libvtv:
* configure.tgt (*-*-solaris2.[1-9]*): Declare supported.
* configure.ac: Call AC_USE_SYSTEM_EXTENSIONS.
<*-*-solaris2*>: Check for init priority support.
Check for getexecname, __fortify_fail, _obstack_begin.
(VTV_NO_OBSTACK): New conditional.
* configure: Regenerate.
* Makefile.am [VTV_NO_OBSTACK] (obstack.c): Use new condition.
Create empty config.h
* Makefile.in: Regenerate.
* vtv_rts.cc [HAVE_GETEXECNAME] (program_invocation_name): New
variable.
(read_section_offset_and_length) [HAVE_GETEXECNAME]: Set it.
(dl_iterate_phdr_callback) [HAVE_GETEXECNAME]: Set it.
(__fortify_fail): Wrap in HAVE___FORTIFY_FAIL
[!HAVE___FORTIFY_FAIL]: Provide non-Cygwin implementation.
(read_section_offset_and_length): Assert sh_size >= VTV_PAGE_SIZE.
(iterate_modules): Fix typo.
Use VTV_PAGE_SIZE.
(dl_iterate_phdr_callback): Fix typo.
Use VTV_PAGE_SIZE.
(__VLTChangePermission): Fix typos.
include:
* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
__sparc__]: Define.
gcc:
* config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up.
(STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define.
(STARTFILE_SPEC): Use %(startfile_vtv).
(ENDFILE_SPEC): Use %(endfile_vtv).
(SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC,
ENDFILE_VTV_SPEC.
* gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}.
From-SVN: r230865
2015-11-25 10:30:25 +00:00
Rainer Orth
ef3a75060e
Handle C++11 <math.h> overloads on Solaris 12
...
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
* configure.ac: Use it.
* configure: Regenerate.
* config.h.in: Regenerate.
* include/c_global/cmath [__cplusplus >= 201103L]
(std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
(std::isfinite): Likewise.
(std::isinf): Likewise.
(std::isnan): Likewise.
(std::isnormal): Likewise.
(std::signbit): Likewise.
(std::isgreater): Likewise.
(std::isgreaterequal): Likewise.
(std::isless): Likewise.
(std::islessequal): Likewise.
(std::islessgreater): Likewise.
(std::isunordered): Likewise.
(std::acosh): Likewise.
(std::asinh): Likewise.
(std::atanh): Likewise.
(std::cbrt): Likewise.
(std::copysign): Likewise.
(std::erf): Likewise.
(std::erfc): Likewise.
(std::exp2): Likewise.
(std::expm1): Likewise.
(std::fdim): Likewise.
(std::fma): Likewise.
(std::fmax): Likewise.
(std::fmin): Likewise.
(std::hypot): Likewise.
(std::ilogb): Likewise.
(std::lgamma): Likewise.
(std::llrint): Likewise.
(std::llround): Likewise.
(std::log1p): Likewise.
(std::log2): Likewise.
(std::logb): Likewise.
(std::lrint): Likewise.
(std::lround): Likewise.
(std::nearbyint): Likewise.
(std::nextafter): Likewise.
(std::nexttoward): Likewise.
(std::remainder): Likewise.
(std::remquo): Likewise.
(std::rint): Likewise.
(std::round): Likewise.
(std::scalbln): Likewise.
(std::scalbn): Likewise.
(std::tgamma): Likewise.
(std::trunc): Likewise.
* include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
(std::tr1::asinh): Likewise.
(std::tr1::atanh): Likewise.
(std::tr1::cbrt): Likewise.
(std::tr1::copysign): Likewise.
(std::tr1::erf): Likewise.
(std::tr1::erfc): Likewise.
(std::tr1::exp2): Likewise.
(std::tr1::expm1): Likewise.
(std::tr1::fabs): Likewise.
(std::tr1::fdim): Likewise.
(std::tr1::fma): Likewise.
(std::tr1::fmax): Likewise.
(std::tr1::fmin): Likewise.
(std::tr1::hypot): Likewise.
(std::tr1::ilogb): Likewise.
(std::tr1::lgamma): Likewise.
(std::tr1::llrint): Likewise.
(std::tr1::llround): Likewise.
(std::tr1::log1p): Likewise.
(std::tr1::log2): Likewise.
(std::tr1::logb): Likewise.
(std::tr1::lrint): Likewise.
(std::tr1::lround): Likewise.
(std::tr1::nearbyint): Likewise.
(std::tr1::nextafter): Likewise.
(std::tr1::nexttoward): Likewise.
(std::tr1::remainder): Likewise.
(std::tr1::remquo): Likewise.
(std::tr1::rint): Likewise.
(std::tr1::scalbln): Likewise.
(std::tr1::scalbn): Likewise.
(std::tr1::tgamma): Likewise.
(std::tr1::trunc): Likewise.
(std::tr1::pow): Likewise.
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.
From-SVN: r230807
2015-11-24 13:15:43 +00:00
David Edelsohn
3b58931386
* testsuite/23_containers/vector/profile/vector.cc: Add maxdata option on AIX.
...
From-SVN: r230701
2015-11-21 00:38:25 -05:00
Jan Kratochvil
cdccafd922
re PR libstdc++/68448 (Python Pretty Printers get disabled on libstdc++ reload by GDB)
...
PR libstdc++/68448
* python/hook.in: Call register_libstdcxx_printers.
* python/libstdcxx/v6/__init__.py: Wrap it to
register_libstdcxx_printers.
From-SVN: r230669
2015-11-20 19:00:51 +00:00
Jonathan Wakely
5f0b7c9548
PR libstdc++/66059 optimise _Build_index_tuple
...
PR libstdc++/66059
* include/std/utility (_Build_index_tuple): Optimise.
From-SVN: r230496
2015-11-17 19:54:33 +00:00
Doug Evans
46d825c59c
re PR libstdc++/67440 (pretty-printing of a const set<foo> fails)
...
PR libstdc++/67440
* python/libstdcxx/v6/printers.py (find_type): Handle "const" in
type name.
* testsuite/libstdc++-prettyprinters/debug.cc: Add test for
const set<int>.
* testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
* testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
From-SVN: r230437
2015-11-16 21:32:26 +00:00
Jonathan Wakely
356510acd9
PR libstdc++/68353 fix _GLIBCXX_USE_C99_WCHAR test
...
PR libstdc++/68353
* include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR
not whether it is defined.
* include/ext/vstring.h: Likewise.
From-SVN: r230395
2015-11-15 11:15:08 +00:00
Andreas Tobler
301d1d00e6
acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation from darwin to DragonFly.
...
2015-11-14 Andreas Tobler <andreast@gcc.gnu.org>
* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation
from darwin to DragonFly.
* configure: Regenerate.
* config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale
support, do it the same as DragonFly.
* config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines.
From-SVN: r230383
2015-11-14 22:17:24 +01:00
Jonathan Wakely
230b4edeee
Fix std::wstring capacity test for short wchar_t
...
* testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
real minimum capacity.
* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
Likewise.
From-SVN: r230378
2015-11-14 17:24:42 +00:00
David Edelsohn
bfc6afd929
* testsuite/experimental/random/randint.cc: Add dg-add-options tls.
...
From-SVN: r230377
2015-11-14 09:22:53 -05:00
Jonathan Wakely
5ae465c530
Define std::experimental::randint etc.
...
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/random: New.
* testsuite/experimental/random/randint.cc: New.
From-SVN: r230332
2015-11-13 16:49:40 +00:00
John Marino
4216708a00
Improve portability of named locale tests
...
2015-11-13 John Marino <gnugcc@marino.st>
* testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc:
Use portable locale name
* testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
* testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
* testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
* testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
* testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/codecvt_byname/50714.cc: Likewise.
* testsuite/22_locale/collate/compare/char/1.cc: Likewise.
* testsuite/22_locale/collate/compare/char/2.cc: Likewise.
* testsuite/22_locale/collate/compare/char/3.cc: Likewise.
* testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/collate/hash/char/2.cc: Likewise.
* testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/collate/transform/char/2.cc: Likewise.
* testsuite/22_locale/collate/transform/char/3.cc: Likewise.
* testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
* testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
* testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
* testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
* testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
* testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/facet/2.cc: Likewise.
* testsuite/22_locale/locale/cons/12352.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
* testsuite/22_locale/locale/cons/2.cc: Likewise.
* testsuite/22_locale/locale/cons/38365.cc: Likewise.
* testsuite/22_locale/locale/cons/38368.cc: Likewise.
* testsuite/22_locale/locale/cons/4.cc: Likewise.
* testsuite/22_locale/locale/cons/40184.cc: Likewise.
* testsuite/22_locale/locale/cons/7.cc: Likewise.
* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
* testsuite/22_locale/messages/13631.cc: Likewise.
* testsuite/22_locale/messages/members/char/1.cc: Likewise.
* testsuite/22_locale/messages/members/char/2.cc: Likewise.
* testsuite/22_locale/messages/members/char/3.cc: Likewise.
* testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/messages/members/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
* testsuite/22_locale/money_get/get/char/1.cc: Likewise.
* testsuite/22_locale/money_get/get/char/10.cc: Likewise.
* testsuite/22_locale/money_get/get/char/11.cc: Likewise.
* testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
* testsuite/22_locale/money_get/get/char/12.cc: Likewise.
* testsuite/22_locale/money_get/get/char/13.cc: Likewise.
* testsuite/22_locale/money_get/get/char/15.cc: Likewise.
* testsuite/22_locale/money_get/get/char/16.cc: Likewise.
* testsuite/22_locale/money_get/get/char/17.cc: Likewise.
* testsuite/22_locale/money_get/get/char/18.cc: Likewise.
* testsuite/22_locale/money_get/get/char/2.cc: Likewise.
* testsuite/22_locale/money_get/get/char/3.cc: Likewise.
* testsuite/22_locale/money_get/get/char/4.cc: Likewise.
* testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
* testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
* testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/moneypunct/40712.cc: Likewise.
* testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
* testsuite/22_locale/moneypunct/members/char/wrapped_env.cc:
Likewise.
* testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
* testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/moneypunct_byname/named_equivalence.cc:
Likewise.
* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
* testsuite/22_locale/num_get/get/char/3.cc: Likewise.
* testsuite/22_locale/num_get/get/char/5.cc: Likewise.
* testsuite/22_locale/num_get/get/char/6.cc: Likewise.
* testsuite/22_locale/num_get/get/char/9.cc: Likewise.
* testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/num_put/put/char/1.cc: Likewise.
* testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
* testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
* testsuite/22_locale/num_put/put/char/3.cc: Likewise.
* testsuite/22_locale/num_put/put/char/5.cc: Likewise.
* testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
* testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
* testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
* testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/numpunct/members/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
* testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
* testsuite/22_locale/time_get/date_order/char/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
* testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get_time/char/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
Likewise.
* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
Likewise.
* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
* testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
* testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
* testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
Likewise.
* testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
* testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
Likewise.
* testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
* testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc:
Likewise.
* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
* testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check
for named locale as appropriate for target.
* testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form
target's preferred form of locale name.
From-SVN: r230329
2015-11-13 15:25:48 +00:00
Jennifer Yao
23c64853c8
More fine-grained autoconf checks for C99 library
...
2015-11-13 Jennifer Yao <jenny.hyphen.fa@gmail.com>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/58393
PR libstdc++/61580
* acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with
-std=c++11 as well as -std=c++98, and define separate macros for each.
Cache the results of checking for complex math and wide character
functions. Reformat for readability.
* config.h.in: Regenerate.
* include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to
either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to
language standard in use.
* config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
* config/locale/generic/c_locale.h (std::__convert_from_v): Likewise.
* config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise.
* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO,
_GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR.
* configure: Regenerate.
* include/bits/basic_string.h: Make numeric conversion functions
depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or
_GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
* include/ext/vstring.h: Likewise.
* include/bits/locale_facets.tcc (std::num_put::_M_insert_float):
Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
* include/bits/locale_facets_nonio.tcc (std::money_put::do_put):
Likewise.
* include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_MATH.
* include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_WCHAR.
* include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDIO.
* include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDLIB.
* include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_WCHAR.
* include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDIO.
* include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDLIB.
* include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_WCHAR.
* include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDIO.
* include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDLIB.
* include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_WCHAR.
* include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDLIB.
* src/c++98/locale_facets.cc (std::__num_base::_S_format_float):
Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
* testsuite/18_support/exception_ptr/60612-terminate.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
* testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
(test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stof.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoi.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stol.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stold.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoll.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoul.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
stoull.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
to_wstring.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/13943.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise.
* testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
Change preprocessor #if conditional so that it uses
_GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and
_GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
* testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH.
* testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
* testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
* testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace
_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
* testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with
_GLIBCXX_USE_C99_STDIO.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r230324
2015-11-13 14:51:25 +00:00
Jonathan Wakely
011b25e4f5
* include/experimental/bits/shared_ptr.h: Tweak comments.
...
From-SVN: r230306
2015-11-13 11:30:30 +00:00
Fan You
930d560203
Implement std::experimental::shared_ptr with array support
...
2015-11-13 Fan You <youfan.noey@gmail.com>
Jonathan Wakely <jwakely@redhat.com>
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/bits/shared_ptr.h: New.
* include/experimental/memory: Include new header.
* testsuite/experimental/memory/shared_ptr/assign/assign.cc: New.
* testsuite/experimental/memory/shared_ptr/cast/cast.cc: New.
* testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
New.
* testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
New.
* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New.
* testsuite/experimental/memory/shared_ptr/dest/dest.cc: New.
* testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New.
* testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New.
* testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
New.
* testsuite/experimental/memory/shared_ptr/observers/operators.cc:
New.
* testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
New.
* testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r230300
2015-11-13 11:05:28 +00:00
Jonathan Wakely
8014404589
Define alias templates using polymorphic memory resources
...
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/memory_resource: Add feature-test macro.
* include/experimental/regex: New.
* include/experimental/deque: Add alias template using PMR.
* include/experimental/forward_list: Likewise.
* include/experimental/list: Likewise.
* include/experimental/map: Likewise.
* include/experimental/set: Likewise.
* include/experimental/string: Likewise.
* include/experimental/unordered_map: Likewise.
* include/experimental/unordered_set: Likewise.
* include/experimental/vector: Likewise.
From-SVN: r230295
2015-11-13 10:01:05 +00:00
Fan You
bfeffbd1ae
Implement C++ LFTSv1 polymorphic memory resources
...
2015-11-13 Fan You <youfan.noey@gmail.com>
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/bits/uses_allocator.h (__erased_type): Define.
(__uses_allocator_helper): Check for __erased_type.
* include/experimental/memory_resource: New.
* include/experimental/utlity: New.
* testsuite/experimental/type_erased_allocator/1.cc: New.
* testsuite/experimental/type_erased_allocator/1_neg.cc: New.
* testsuite/experimental/type_erased_allocator/2.cc: New.
* testsuite/experimental/type_erased_allocator/uses_allocator.cc: New.
From-SVN: r230294
2015-11-13 10:00:59 +00:00
Jonathan Wakely
fbfae2f089
Extend valid values of iostream bitmask types
...
PR libstdc++/56158
* include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate):
Define enumerators to ensure all values of type int are valid values
of the enumeration type.
* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases.
* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
From-SVN: r230267
2015-11-12 17:08:42 +00:00
Jonathan Wakely
f022ab0310
* include/std/thread: Include <cerrno> for EINTR.
...
From-SVN: r230266
2015-11-12 16:13:06 +00:00
Ville Voutilainen
c3a6648b1c
Implement D0013R2, logical type traits.
...
2015-11-12 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement D0013R2, logical type traits.
/libstdc++-v3
* include/experimental/type_traits (conjunction_v, disjunction_v,
negation_v): New.
* include/std/type_traits (conjunction, disjunction, negation):
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/experimental/type_traits/value.cc: Likewise.
* testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New.
* testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise.
* testsuite/20_util/logical_traits/value.cc: Likewise.
/testsuite
* g++.dg/cpp0x/Wattributes1.C: Adjust.
From-SVN: r230258
2015-11-12 15:56:31 +02:00
Jonathan Wakely
53dc6fb862
* include/experimental/bits/string_view.tcc: Fix doxygen @file.
...
From-SVN: r230221
2015-11-12 10:08:49 +00:00
Jonathan Wakely
c5bd8d521a
* libsupc++/new_handler.cc: Fix for explicit constructor change.
...
From-SVN: r230184
2015-11-11 17:29:39 +00:00
Jonathan Wakely
f55e699d3d
Loop in std::this_thread sleep functions
...
PR libstdc++/60421
* include/std/thread (this_thread::sleep_for): Retry on EINTR.
(this_thread::sleep_until): Retry if time not reached.
* src/c++11/thread.cc (__sleep_for): Retry on EINTR.
* testsuite/30_threads/this_thread/60421.cc: Test interruption and
non-steady clocks.
From-SVN: r230183
2015-11-11 17:08:51 +00:00
Ville Voutilainen
e3907f12a5
Correct the Changelog date of the previous commit.
...
From-SVN: r230177
2015-11-11 16:56:17 +02:00
Ville Voutilainen
269fa2a91b
LWG 2510, make the default constructors of library tag types explicit.
...
2015-11-10 Ville Voutilainen <ville.voutilainen@gmail.com>
LWG 2510, make the default constructors of library tag types
explicit.
* include/bits/mutex.h (defer_lock_t, try_lock_t,
adopt_lock_t): Add an explicit default constructor.
* include/bits/stl_pair.h (piecewise_construct_t): Likewise.
* include/bits/uses_allocator.h (allocator_arg_t): Likewise.
* libsupc++/new (nothrow_t): Likewise.
* testsuite/17_intro/tag_type_explicit_ctor.cc: New.
From-SVN: r230175
2015-11-11 16:47:19 +02:00
Jonathan Wakely
832ca6ac72
re PR libstdc++/64651 (std::rethrow_exception not found by ADL)
...
PR libstdc++/64651
* libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration
to __exception_ptr namespace.
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL.
Remove unnecessary test variables.
From-SVN: r230147
2015-11-11 10:08:23 +00:00
Jonathan Wakely
d4a9dffbaa
Fix return type of heterogeneous find for sets
...
PR libstdc++/68190
* include/bits/stl_multiset.h (multiset::find): Fix return types.
* include/bits/stl_set.h (set::find): Likewise.
* testsuite/23_containers/map/operations/2.cc: Test find return types.
* testsuite/23_containers/multimap/operations/2.cc: Likewise.
* testsuite/23_containers/multiset/operations/2.cc: Likewise.
* testsuite/23_containers/set/operations/2.cc: Likewise.
From-SVN: r230113
2015-11-10 15:12:24 +00:00
Jonathan Wakely
60baa1883c
Update C++17 library implementation status
...
* doc/xml/manual/status_cxx2017.xml: Update.
* doc/html/*: Regenerate.
From-SVN: r230108
2015-11-10 14:05:01 +00:00
Jonathan Wakely
fb9333352b
* include/bits/functional_hash.h: Fix grammar in comment.
...
From-SVN: r230097
2015-11-10 11:12:33 +00:00
François Dumont
ec494945a9
2015-11-09 François Dumont <fdumont@gcc.gnu.org>
...
* include/bits/stl_algo.h
(partial_sort_copy): Instantiate std::iterator_traits only if concept
checks.
(lower_bound): Likewise.
(upper_bound): Likewise.
(equal_range): Likewise.
(binary_search): Likewise.
* include/bits/stl_heap.h (pop_heap): Likewise.
From-SVN: r230052
2015-11-09 21:10:18 +00:00
Kai Tietz
277ec793cb
* testsuite/26_numerics/complex/requirements/constexpr.cc
...
* testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
Use constexpr where needed.
From-SVN: r229883
2015-11-06 14:43:33 -05:00
David Malcolm
9a4bbd5dd2
libstdc++v3: Explicitly disable carets and colorization within testsuite
...
libstdc++-v3/ChangeLog:
* testsuite/lib/libstdc++.exp (v3_target_compile): Add
-fno-diagnostics-show-caret -fdiagnostics-color=never to
option's additional_flags.
From-SVN: r229876
2015-11-06 18:44:05 +00:00
Jason Merrill
34148d68c7
* libsupc++/new: Declare sized deletes.
...
From-SVN: r229713
2015-11-03 11:43:54 -05:00
Paolo Carlini
32fec2c8a2
2015-11-03 Paolo Carlini <paolo.carlini@oracle.com>
...
* Wrap ChangeLog entries to 80 columns.
From-SVN: r229707
2015-11-03 13:41:23 +00:00
Ville Voutilainen
f763219373
Make the default constructors of tuple and pair conditionally explicit.
...
2015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com>
Make the default constructors of tuple and pair conditionally explicit.
* include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
__is_default_constructible_atom, __is_default_constructible_safe,
__is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
__is_nt_default_constructible_impl, is_nothrow_default_constructible,
is_nothrow_constructible, is_nothrow_assignable,
is_trivially_constructible, is_trivially_copy_constructible,
is_trivially_move_constructible, is_trivially_assignable,
is_trivially_copy_assignable, is_trivially_move_assignable,
is_trivially_destructible): Simplify.
* include/std/type_traits (
__do_is_implicitly_default_constructible_impl,
__is_implicitly_default_constructible_impl,
__is_implicitly_default_constructible_safe,
__is_implicitly_default_constructible): New.
* include/bits/stl_pair.h (pair::pair()): Use it.
* include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
* include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
* include/std/tuple (tuple<_Types...>::tuple()): Use it.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc: New.
* testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_implicitly_default_constructible/value.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
From-SVN: r229699
2015-11-03 10:41:40 +02:00
Jonathan Wakely
93e954005f
Implement C++17 std::invoke and LWG DR 2219
...
* include/std/functional (__invoke_impl): New overloads.
(__invoke): Replace with a single function calling __invoke_impl.
(invoke): Add C++17 std::invoke.
(reference_wrapper::operator()): Qualify call to __invoke.
(_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs.
(_Mem_fn_base): Remove unused typedefs and implement call operator in
terms of __invoke.
* include/std/future (__future_base::_Async_state_commonV2): Do not
pass reference_wrapper as object argument to call_once.
* include/std/type_traits (result_of): Define nested __invoke_type.
Handle reference_wrapper as per LWG 2219.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives.
* testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests
using member functions of reference_wrapper.
From-SVN: r229290
2015-10-25 01:00:54 +01:00
Jonathan Wakely
6fbd598400
Return deferred future if thread cannot be run
...
* include/std/future (async): Use deferred function on exception.
* testsuite/30_threads/async/except.cc: New.
From-SVN: r229289
2015-10-24 22:36:50 +01:00
Jonathan Wakely
f9badf7134
* include/std/type_traits (__cpp_lib_bool_constant): Define.
...
From-SVN: r229152
2015-10-21 22:20:25 +01:00
Jonathan Wakely
fe29811c31
Document options for Filesystem TS library
...
* doc/xml/manual/configure.xml: Document
--enable-libstdcxx-filesystem-ts option.
* doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a.
* doc/xml/manual/using.xml: Likewise.
* doc/html/*: Regenerate.
From-SVN: r228914
2015-10-16 14:55:12 +01:00
Aurelio Remonda
6b6254db8a
Shrink std::random_shuffle test to pass on simulators
...
2015-10-16 Aurelio Remonda <aurelio.remonda@tallertechnologies.com>
* testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable
N from const int N = 200000 to const unsigned int N = 10000.
Delete useless fill_ascending function call.
From-SVN: r228876
2015-10-16 12:12:15 +01:00
Szabolcs Nagy
750002e0ee
mark libstdc++ tests unsupported if they fail with "relocation truncated"
...
* testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for
unsupported compiler output.
From-SVN: r228844
2015-10-15 15:15:37 +00:00
Nathan Froyd
141aa58b53
opt_random.h: Include pmmintrin.h instead of x86intrin.h, and only do so when __SSE3__
...
* config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead
of x86intrin.h, and only do so when __SSE3__
* include/ext/random: Include emmintrin.h instead of x86intrin.h
From-SVN: r228786
2015-10-13 20:55:44 +00:00
Joseph Myers
3c97fe777c
Test for __cxa_thread_atexit_impl when cross-compiling libstdc++ for GNU targets.
...
I noticed that when testing glibc with a cross compiler I got
UNSUPPORTED: nptl/tst-thread_local1
because the libstdc++-v3 configuration for cross compiling defaulted
to __cxa_thread_atexit_impl not being available. This patch fixes
GLIBCXX_CROSSCONFIG to run the same test (for the case covering
targets with glibc) for __cxa_thread_atexit_impl as for native
compilation, just as it runs most of the other tests done for native
compilation (for these targets, it's not possible to build libstdc++
without already having built libc, so link tests are OK).
Tested with no regressions for cross to arm-none-linux-gnueabi.
* crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* |
*-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for
__cxa_thread_atexit_impl.
* configure: Regenerate.
From-SVN: r228695
2015-10-11 23:34:28 +01:00
Jonathan Wakely
7b5fde8304
Missed ChangeLog for previous libstdc++-v3 commit
...
Add include/experimental/bits dir
* include/experimental/erase_if.h: Move to ...
* include/experimental/bits/erase_if.h: New.
* include/experimental/fs_dir.h: Move to ...
* include/experimental/bits/fs_dir.h: New.
* include/experimental/fs_fwd.h: Move to ...
* include/experimental/bits/fs_fwd.h: New.
* include/experimental/fs_ops.h: Move to ...
* include/experimental/bits/fs_ops.h: New.
* include/experimental/fs_path.h: Move to ...
* include/experimental/bits/fs_path.h: New.
* include/experimental/string_view.tcc: Move to ...
* include/experimental/bits/string_view.tcc: New.
* include/Makefile.am: Add include/experimental/bits sub-directory.
* include/Makefile.in: Regenerate.
* include/experimental/filesystem: Adjust includes.
* include/experimental/map: Likewise.
* include/experimental/set: Likewise.
* include/experimental/string_view: Likewise.
* include/experimental/unordered_map: Likewise.
* include/experimental/unordered_set: Likewise.
From-SVN: r228646
2015-10-09 12:19:04 +01:00
Ville Voutilainen
057ce49719
re PR c++/67844 (Cannot make tuple of class with template constructor)
...
2015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com>
PR 67844.
* include/std/tuple (_TC::_NonNestedTuple): Eagerly reject
conversions from tuple types same as the target tuple.
* testsuite/20_util/tuple/67844.cc: New.
* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add
a missing copyright header.
From-SVN: r228468
2015-10-05 12:57:20 +03:00
Jonathan Wakely
acfdd51fc8
Remove pretty printing for 'any' with allocators
...
* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support
for _Manager_alloc.
From-SVN: r228447
2015-10-03 13:09:36 +01:00
Jonathan Wakely
f4cfe221bf
Fix comments saying why headers are included
...
* src/c++98/locale.cc: Fix comment.
* src/c++98/locale_init.cc: Likewise.
From-SVN: r228446
2015-10-03 13:09:31 +01:00
Jonathan Wakely
1ca9de5126
Fix testsuite failures with --disable-wchar_t
...
* testsuite/21_strings/basic_string/literals/types.cc: Guard use of
wchar_t with _GLIBCXX_USE_WCHAR_T.
* testsuite/21_strings/basic_string/literals/values.cc: Likewise.
* testsuite/21_strings/basic_string/requirements/citerators.cc:
Likewise.
* testsuite/22_locale/messages/13631.cc: Likewise.
* testsuite/experimental/string_view/literals/types.cc: Likewise.
* testsuite/experimental/string_view/literals/values.cc: Likewise.
From-SVN: r228439
2015-10-03 00:43:17 +01:00
Jonathan Wakely
8b75621078
Enable dual ABI for Filesystem library
...
* src/filesystem/Makefile.am: Add cxx11_abi_sources.
* src/filesystem/Makefile.in: Regenerate.
* src/filesystem/cow-dir.cc: New.
* src/filesystem/cow-ops.cc: New.
* src/filesystem/cow-path.cc: New.
* src/filesystem/dir.cc: Define macro for new ABI.
* src/filesystem/ops.cc: Likewise.
* src/filesystem/path.cc: Likewise.
From-SVN: r228437
2015-10-03 00:21:41 +01:00
Jonathan Wakely
ee216d80a5
minimal.cc: Minor tweaks to match narrow char version.
...
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Minor tweaks to match narrow char version.
From-SVN: r228436
2015-10-02 23:18:06 +01:00
Jonathan Wakely
c980d0b4b7
Fix tests that fail with old std::string
...
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
explicit instantiation with check for new ABI.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise. Use wchar_t as char_type.
From-SVN: r228435
2015-10-02 23:13:18 +01:00
Jonathan Wakely
783aa06e9b
Use noexcept instead of _GLIBCXX_NOEXCEPT
...
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
(basic_string::front() const, basic_string::back() const): Use
noexcept instead of _GLIBCXX_NOEXCEPT macro.
(__versa_string::front, __versa_string::back): Likewise.
From-SVN: r228434
2015-10-02 23:13:12 +01:00
Jonathan Wakely
38cccb0b7e
* acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
...
From-SVN: r228433
2015-10-02 22:47:38 +01:00
Jonathan Wakely
7fcdbdd21d
Allow Filesystem TS to compile without wchar_t
...
* include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
(__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
* include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
(path::wstring, path::generic_wstring): Disable.
* src/filesystem/path.cc (path::_S_convert_loc)
[!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
* testsuite/experimental/filesystem/path/assign/assign.cc: Check for
wchar_t support.
* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
From-SVN: r228417
2015-10-02 20:38:38 +01:00
Jonathan Wakely
43222a5ec8
testsuite_fs.h (nonexistent_path): Use less generic name for paths.
...
* testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
name for paths. Prefer snprintf to sprintf.
From-SVN: r228416
2015-10-02 20:38:27 +01:00
Jonathan Wakely
7b65155f1c
PR libstdc++/67747 use readdir instead of readdir_r
...
PR libstdc++/67747
* src/filesystem/dir.cc (native_readdir): Remove.
(_Dir::advance): Use readdir instead of native_readdir.
(recursive_directory_iterator(const path&, directory_options,
error_code*)): Use swap instead of reset.
From-SVN: r228404
2015-10-02 17:34:34 +01:00
Jonathan Wakely
7b8089a3c6
* doc/html/manual/errno.html: Add new file.
...
From-SVN: r228348
2015-10-01 17:02:54 +01:00
Jonathan Wakely
f14decafae
Save-and-restore errno more carefully in libstdc++
...
* doc/xml/manual/diagnostics.xml: Document use of errno.
* doc/html/*: Regenerate.
* config/locale/generic/c_locale.cc (_Save_errno): New helper.
(__convert_to_v): Use _Save_errno.
* include/ext/string_conversions.h (__stoa): Only restore errno when
it isn't set to non-zero.
From-SVN: r228328
2015-10-01 12:23:39 +01:00
François Dumont
9702ee6a6f
messages_members.cc (Catalog_info, Catalogs): Move...
...
2015-09-30 François Dumont <fdumont@gcc.gnu.org>
Jonathan Wakely <jwakely@redhat.com>
* config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
Move...
* config/locale/gnu/c++locale_internal.h: ...here in std namespace.
* config/locale/gnu/c_locale.cc: Move implementation of latter here.
* src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates.
* src/c++98/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Adjust.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r228305
2015-09-30 20:04:43 +00:00
Matthias Klose
eea10f8c50
alpha, ia64: Remove empty directories.
...
2015-09-30 Matthias Klose <doko@ubuntu.com>
* config/cpu/alpha, config/cpu/ia64: Remove empty directories.
From-SVN: r228291
2015-09-30 12:55:05 +00:00
Jonathan Wakely
6d60110654
Leave errno unchanged by successful std::stoi etc
...
* include/ext/string_conversions.h (__stoa): Save and restore errno.
* testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc:
New.
From-SVN: r228249
2015-09-29 16:15:39 +01:00
Jonathan Wakely
b59882293f
PR libstdc++/67583 Fix invalid sputn calls in tests
...
PR libstdc++/67583
* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call
with mismatched arguments.
* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
From-SVN: r228245
2015-09-29 14:31:51 +01:00
Jonathan Wakely
ce535a9685
Reduce space and time overhead of std::thread
...
PR libstdc++/65393
* config/abi/pre/gnu.ver: Export new symbols.
* include/std/thread (thread::_State, thread::_State_impl): New types.
(thread::_M_start_thread): Add overload taking unique_ptr<_State>.
(thread::_M_make_routine): Remove.
(thread::_S_make_state): Add.
(thread::_Impl_base, thread::_Impl, thread::_M_start_thread)
[_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally.
* src/c++11/thread.cc (execute_native_thread_routine): Rename to
execute_native_thread_routine_compat and re-define to use _State.
(thread::_State::~_State()): Define.
(thread::_M_make_thread): Define new overload.
(thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old
overloads conditionally.
From-SVN: r228242
2015-09-29 13:54:05 +01:00
Jonathan Wakely
80400b0477
LWG 2135: terminate() in condition_variable::wait()
...
* include/std/condition_variable (condition_variable::wait): Add
noexcept.
* src/c++11/condition_variable.cc (condition_variable::wait): Call
std::terminate on error (DR 2135).
From-SVN: r228217
2015-09-28 19:44:40 +01:00
Ville Voutilainen
5e2f2cd584
Avoid creating dangling references in case of nested tuples
...
for tuple constructors that construct from other tuples.
2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com>
Avoid creating dangling references in case of nested tuples
for tuple constructors that construct from other tuples.
* include/std/tuple (_TC::_NonNestedTuple): New.
* include/std/tuple (tuple::_TNTC): New.
* include/std/tuple (tuple(const tuple<_UElements...>&),
tuple(tuple<_UElements...>&&): Use _TNTC.
* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New.
From-SVN: r228134
2015-09-25 19:41:45 +03:00
Jonathan Wakely
9bc5028273
Leave moved-from std::deque in a valid state
...
PR libstdc++/67707
* include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
empty object.
* testsuite/23_containers/deque/allocator/move.cc: Check moved-from
deque.
From-SVN: r228090
2015-09-24 16:46:24 +01:00
Jonathan Wakely
07dc170b6f
Limit number of symlinks that canonical() will resolve
...
* src/filesystem/ops.cc (canonical): Simplify error handling and
limit number of symlinks that can be resolved.
From-SVN: r228043
2015-09-23 12:26:50 +01:00
Jonathan Wakely
429ee11aa3
Fix semantics of Filesystem TS directory iterators
...
[class.directory_iterator] p4 and [directory_iterator.members] p4
require that only the default constructor and ignored permission denied
errors can create the end iterator.
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
prefix from HAVE_STRUCT_DIRENT_D_TYPE.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/experimental/fs_dir.h (operator==, operator==):
Use owner_before instead of pointer equality.
(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
* src/filesystem/dir.cc (ErrorCode): Remove.
(_Dir::advance): Change ErrorCode parameter to error_code*, add
directory_options parameter and check it on error.
(opendir): Rename to open_dir to avoid clashing with macro. Change
ErrorCode parameter to error_code*.
(make_shared_dir): Remove.
(native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
(directory_iterator(const path&, directory_options, error_code*)):
Pass options to _Dir::advance and create non-end iterator on error.
(recursive_directory_iterator(const path&, directory_options,
error_code*)): Clear error_code on ignored error, create non-end
iterator otherwise.
(recursive_directory_iterator::increment): Pass _M_options to
_Dir::advance.
(recursive_directory_iterator::pop): Likewise.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
New.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: New.
From-SVN: r228042
2015-09-23 12:26:45 +01:00
Jonathan Wakely
366703118c
Fix filesystem::create_directories() function
...
* src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
(create_directories): Fix error handling.
* testsuite/experimental/filesystem/operations/create_directories.cc:
New.
From-SVN: r228041
2015-09-23 12:25:59 +01:00
Jonathan Wakely
561cfdec25
Fix bootstrap error introduced in r227870
...
PR libstdc++/67647
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
(basic_string::shrink_to_fit): Fix #endif placement.
From-SVN: r227966
2015-09-21 12:44:08 +01:00
Tim Shen
236d76c4a9
re PR libstdc++/67361 (std::regex_error::what() should say something about the error_code)
...
PR libstdc++/67361
* include/bits/regex_error.h: Add __throw_regex_error that
supports string.
* include/bits/regex_automaton.h: Add more specific exception
messages.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_compiler.h: Likewise.
* include/bits/regex_compiler.tcc: Likewise.
* include/bits/regex_scanner.h: Likewise.
* include/bits/regex_scanner.tcc: Likewise.
From-SVN: r227936
2015-09-19 20:56:27 +00:00
Jonathan Wakely
7215aaedd6
Fix errors due to extra includes in extc++.h
...
* include/precompiled/extc++.h: Fix bootstrap error due to
unconditional inclusion of <ext/enc_filebuf.h>.
* include/ext/random: Check for definition of UINT32_C.
From-SVN: r227902
2015-09-18 12:21:05 +01:00
Catherine Moore
05c0e3eb54
debug.cc: Include <cstdio>.
...
2015-09-17 Catherine Moore <clm@codesourcery.com>
* src/c++11/debug.cc: Include <cstdio>.
From-SVN: r227888
2015-09-17 19:16:53 -04:00
Gerald Pfeifer
0b546684ad
Include <cerrno> in src/c++11/random.cc
...
2015-09-17 Gerald Pfeifer <gerald@pfeifer.com>
* src/c++11/random.cc: Include <cerrno>.
From-SVN: r227887
2015-09-17 22:28:00 +01:00
François Dumont
814e52ca21
2015-09-17 François Dumont <fdumont@gcc.gnu.org>
...
* include/debug/formatter.h
(_Error_formatter::_Parameter::_M_print_field): Deprecate.
(_Error_formatter::_Parameter::_M_print_description): Likewise.
(_Error_formatter::_M_format_word): Likewise.
(_Error_formatter::_M_print_word): Likewise.
(_Error_formatter::_M_print_string): Likewise.
(_Error_formatter::_M_get_max_length): Likewise.
(_Error_formatter::_M_max_length): Delete.
(_Error_formatter::_M_indent): Likewise.
(_Error_formatter::_M_column): Likewise.
(_Error_formatter::_M_first_line): Likewise.
(_Error_formatter::_M_wordwrap): Likewise.
* src/c++11/debug.cc: Adapt.
From-SVN: r227885
2015-09-17 19:23:26 +00:00
Jonathan Wakely
310055e7b4
Handle alignment in __atomic_is_lock_free
...
gcc:
2015-09-17 Richard Henderson <rth@redhat.com>
PR libstdc++/65913
* builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
pointers that encode the alignment of the object.
libstdc++-v3:
2015-09-17 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/65913
* include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
__atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
immediate pointer value, not a variable.
* include/std/atomic (atomic<T>::is_lock_free()): Likewise.
* testsuite/29_atomics/atomic/65913.cc: New.
From-SVN: r227878
2015-09-17 16:46:04 +01:00
Jonathan Wakely
01610fec49
Remove non-deterministic part of canonical() test
...
* testsuite/experimental/filesystem/operations/canonical.cc: Remove
non-deterministic part of the test.
From-SVN: r227873
2015-09-17 16:33:20 +01:00
Jonathan Wakely
a2b4d73daf
Make std::random_device retry after short reads
...
PR libstdc++/65142
* src/c++11/random.cc (random_device::_M_getval()): Retry after short
reads.
From-SVN: r227872
2015-09-17 16:06:42 +01:00
Jonathan Wakely
2eb57e545b
Remove redundant conditional expressions in <system_error>
...
* include/std/system_error (error_code::operator bool(),
error_condition::operator bool()): Remove redundant conditional
expression.
From-SVN: r227871
2015-09-17 15:56:50 +01:00
Jonathan Wakely
99f04955ed
Only do shrink_to_fit() when exceptions enabled
...
* include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
Do nothing if exceptions are disabled.
* include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.
From-SVN: r227870
2015-09-17 15:56:46 +01:00
Jonathan Wakely
3036299861
Implement filesystem::canonical() without realpath
...
PR libstdc++/67173
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
and PATH_MAX for _GLIBCXX_USE_REALPATH.
* config.h.in: Regenerate.
* configure: Regenerate.
* src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
alternative implementation.
* testsuite/experimental/filesystem/operations/canonical.cc: New.
* testsuite/experimental/filesystem/operations/exists.cc: Add more
tests.
* testsuite/experimental/filesystem/operations/absolute.cc: Add test
variables.
* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
* testsuite/experimental/filesystem/operations/current_path.cc:
Likewise.
* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
* testsuite/experimental/filesystem/operations/status.cc: Likewise.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Likewise.
From-SVN: r227836
2015-09-16 23:50:28 +01:00
Jonathan Wakely
7c928f726d
Fix filesystem::canonical on Solaris 10.
...
PR libstdc++/67173
* src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for
realpath on Solaris 10.
From-SVN: r227689
2015-09-11 15:20:32 +01:00
Jonathan Wakely
42b6aad9ef
Check read() result in std::random_device.
...
PR libstdc++/65142
* src/c++11/random.cc (random_device::_M_getval()): Check read result.
From-SVN: r227687
2015-09-11 14:44:26 +01:00
John Marino
1b741475ff
Fix invalid UTF-8 in wchar_t tests.
...
2015-09-11 John Marino <gnugcc@marino.st>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/67096
* testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points
above U+10FFFF.
* testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
* testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
* testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
* testsuite/27_io/objects/wchar_t/10.cc: Likewise.
* testsuite/27_io/objects/wchar_t/11.cc: Likewise.
* testsuite/27_io/objects/wchar_t/12.cc: Likewise.
* testsuite/27_io/objects/wchar_t/13.cc: Likewise.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r227686
2015-09-11 14:06:42 +01:00
Jonathan Wakely
f12ddb6249
Rationalise PCH headers and 17_intro/headers tests.
...
PR libstdc++/64857
* doc/xml/manual/using.xml: Improve aggregate header documentation.
* doc/html/manual/*: Regenerate.
* include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11
and later and include more extension headers.
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove
redundant header.
* testsuite/17_intro/headers/c++200x/: Rename to c++2011.
* testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove
redundant headers.
* testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New.
* testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New.
* testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New.
* testsuite/17_intro/headers/c++2014/operator_names.cc: New.
* testsuite/17_intro/headers/c++2014/stdc++.cc: New.
* testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
New.
From-SVN: r227684
2015-09-11 13:25:43 +01:00
Jonathan Wakely
5caff414f1
Implement N4258 noexcept for std::basic_string.
...
PR libstdc++/58265
* doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
* doc/html/manual/bugs.html: Regenerate.
* include/bits/basic_string.h (basic_string): Implement N4258. Add
correct exception-specifications and propagate allocators correctly.
* include/bits/basic_string.tcc (basic_string::swap): Propagate
allocators correctly.
* include/debug/string (__gnu_debug::basic_string): Add correct
exceptions-specifications and allcoator-extended constructors.
* testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
* testsuite/21_strings/basic_string/allocator/char/move.cc: New.
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
* testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
* testsuite/util/testsuite_allocator.h (tracker_allocator): Define
defaulted assignment operators.
From-SVN: r227681
2015-09-11 12:02:14 +01:00
Jonathan Wakely
997ed914e2
Allocator-extended constructors for container adaptors.
...
PR libstdc++/65092
* include/bits/stl_queue.h (queue, priority_queue): Add
allocator-extended constructors.
* include/bits/stl_stack.h (stack): Likewise.
* testsuite/23_containers/priority_queue/requirements/
uses_allocator.cc: Test allocator-extended constructors.
* testsuite/23_containers/queue/requirements/uses_allocator.cc:
Likewise.
* testsuite/23_containers/stack/requirements/uses_allocator.cc:
Likewise.
From-SVN: r227680
2015-09-11 10:51:29 +01:00
Jonathan Wakely
a789097385
* testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add.
...
From-SVN: r227661
2015-09-10 20:33:09 +01:00
Jonathan Wakely
94eb2ddbf0
1.cc: Verify the string contents.
...
* testsuite/21_strings/basic_string/operators/char/1.cc: Verify the
string contents.
From-SVN: r227660
2015-09-10 20:33:04 +01:00
Jonathan Wakely
2f1e8e7c47
Enable lightweight checks with _GLIBCXX_ASSERTIONS.
...
* doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document.
* doc/html/manual/using_macros.html: Regenerate.
* include/bits/c++config: Define _GLIBCXX_ASSERTIONS when
_GLIBCXX_DEBUG is defined. Disable std::string extern templates when
(_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on
_GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG.
* include/debug/debug.h [!_GLIBCXX_DEBUG]: Define
__glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty.
* include/backward/auto_ptr.h (auto_ptr::operator*,
auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with
__glibcxx_assert.
* include/bits/basic_string.h (basic_string::operator[],
basic_string::front, basic_string::back, basic_string::pop_back):
Likewise.
* include/bits/random.h
(uniform_int_distribution::param_type::param_type,
uniform_real_distribution::param_type::param_type,
normal_distribution::param_type::param_type,
gamma_distribution::param_type::param_type,
bernoulli_distribution::param_type::param_type,
binomial_distribution::param_type::param_type,
geometric_distribution::param_type::param_type,
negative_binomial_distribution::param_type::param_type,
poisson_distribution::param_type::param_type,
exponential_distribution::param_type::param_type): Likewise.
* include/bits/regex.h (match_results::operator[],
match_results::prefix, match_results::suffix): Likewise.
* include/bits/regex.tcc (format, regex_iterator::operator++):
Likewise.
* include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise.
* include/bits/regex_compiler.tcc (_Compiler::_Compiler,
_Compiler::_M_insert_character_class_matcher): Likewise.
* include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc (_Scanner::_M_advance,
_Scanner::_M_scan_normal): Likewise.
* include/bits/shared_ptr_base.h (__shared_ptr::_M_reset,
__shared_ptr::operator*): Likewise.
* include/bits/stl_iterator_base_funcs.h (__advance): Likewise.
* include/bits/unique_ptr.h (unique_ptr::operator*,
unique_ptr::operator[]): Likewise.
* include/experimental/fs_path.h (path::path(string_type, _Type),
path::iterator::operator++, path::iterator::operator--,
path::iterator::operator*): Likewise.
* include/experimental/string_view (basic_string_view::operator[],
basic_string_view::front, basic_string_view::back,
basic_string_view::remove_prefix): Likewise.
* include/ext/random (beta_distribution::param_type::param_type,
normal_mv_distribution::param_type::param_type,
rice_distribution::param_type::param_type,
pareto_distribution::param_type::param_type,
k_distribution::param_type::param_type,
arcsine_distribution::param_type::param_type,
hoyt_distribution::param_type::param_type,
triangular_distribution::param_type::param_type,
von_mises_distribution::param_type::param_type,
hypergeometric_distribution::param_type::param_type,
logistic_distribution::param_type::param_type): Likewise.
* include/ext/vstring.h (__versa_string::operator[]): Likewise.
* include/std/complex (polar): Likewise.
* include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK]
(timed_mutex::~timed_mutex, timed_mutex::unlock,
(recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock):
Likewise.
* include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
(__shared_mutex_pthread::__shared_mutex_pthread,
__shared_mutex_pthread::~__shared_mutex_pthread): Likewise.
(__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock,
__shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared,
__shared_mutex_pthread::try_lock_shared): Likewise.
(__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock,
__shared_mutex_cv::unlock_shared): Likewise.
(shared_timed_mutex::try_lock_until,
shared_timed_mutex::try_lock_shared_until): Likewise.
* include/std/valarray (valarray::valarray(const _Tp*, size_t),
valarray::operator=, valarray::sum, valarray::min, valarray::max,
_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR):
Likewise.
From-SVN: r227595
2015-09-09 18:12:47 +01:00
Jonathan Wakely
93023f35f7
Relax Debug Mode assertions on operator-> for smart pointers.
...
* include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change
_GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT.
* include/bits/unique_ptr.h (unique_ptr::operator->): Likewise.
* testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on
empty shared_ptr.
From-SVN: r227524
2015-09-07 18:17:23 +01:00
Jonathan Wakely
12dee005f7
Avoid #ifdef _GLIBCXX_DEBUG in regex_compiler.h
...
* include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready):
Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY.
From-SVN: r227521
2015-09-07 15:45:14 +01:00
Jonathan Wakely
2d5e3740fd
Rename shadowed variable in libstdc++ test.
...
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename
shadowed variable.
From-SVN: r227519
2015-09-07 12:33:20 +01:00
Jonathan Wakely
d835619658
Enable timed mutex unlock tests on darwin.
...
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on
darwin.
* testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin.
From-SVN: r227518
2015-09-07 11:40:25 +01:00
Jonathan Wakely
c79c59f024
fix darwin bootstrap errors due to <mutex>.
...
PR libstdc++/65704
* include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock.
From-SVN: r227495
2015-09-04 17:09:05 +01:00
Jonathan Wakely
f16081c2c6
Add portable timed_mutex and recursive_timed_mutex.
...
PR libstdc++/65704
* include/Makefile.am: Add <bits/mutex.h>.
* include/Makefile.in: Regenerate.
* include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock):
New file containing types moved from <mutex>.
* include/std/condition_variable: Include <bits/mutex.h> instead of
<mutex>.
* include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock):
Move to <bits/mutex.h>.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove
dg-require-gthreads-timed.
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/dest/
destructor_locked.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
Likewise.
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
From-SVN: r227490
2015-09-04 12:23:44 +01:00
Edward Smith-Rowland
20b5f0b3e6
Add C++11 header <cuchar>.
...
2015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net>
Jonathan Wakely <jwakely@redhat.com>
* acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Check for <uchar.h>.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/c/cuchar: New.
* include/c_compatibility/uchar.h: New.
* include/c_global/cuchar: New.
* include/c_std/cuchar: New.
* include/precompiled/stdc++.h: Include <cuchar>.
* testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>.
* testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
Include <uchar.h>.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r227488
2015-09-04 12:13:34 +01:00
Jonathan Wakely
57003677cf
Make all <cxxx> headers include <bits/c++config.h>
...
PR libstdc++/65473
* include/c/cassert: Include <bits/c++config.h>.
* include/c/cerrno: Likewise.
* include/c/cfloat: Likewise.
* include/c/ciso646: Likewise.
* include/c/climits: Likewise.
* include/c_global/cassert: Likewise.
* include/c_global/cerrno: Likewise.
* include/c_global/cfloat: Likewise.
* include/c_global/ciso646: Likewise.
* include/c_global/climits: Likewise.
* include/c_std/cassert: Likewise.
* include/c_std/cerrno: Likewise.
* include/c_std/cfloat: Likewise.
* include/c_std/ciso646: Likewise.
* include/c_std/climits: Likewise.
From-SVN: r227484
2015-09-04 10:16:29 +01:00
Jonathan Wakely
c8c030589b
Clean up libstdc++ includes slightly.
...
* include/bits/shared_ptr_base.h: Add required header.
* include/std/condition_variable: Likewise.
* include/std/mutex: Remove unused header.
* include/std/shared_mutex: Remove redundant header.
(shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc.
From-SVN: r227469
2015-09-03 21:40:03 +01:00
Jonathan Wakely
433f6725ca
re PR libstdc++/66902 (_S_debug_messages is unneccessary public)
...
PR libstdc++/66902
* src/c++11/debug.cc (_S_debug_messages): Make array const.
From-SVN: r227466
2015-09-03 20:05:15 +01:00
Jonathan Wakely
eb8bf686b7
Make std::experimental::not_fn SFINAE-friendly.
...
PR libstdc++/66998
* include/experimental/functional (_Not_fn): Add exception
specifications and non-deduced return types.
(not_fn): Add exception specification and wrap pointer-to-member.
* testsuite/experimental/functional/not_fn.cc: Test in SFINAE context
and test pointer-to-member.
From-SVN: r227448
2015-09-03 15:36:03 +01:00
Jonathan Wakely
500dc9a6c3
Add concept checks to std::next and std::prev.
...
PR libstdc++/62039
* include/bits/stl_iterator_base_funcs.h (next, prev): Add concept
checks.
* testsuite/24_iterators/operations/prev_neg.cc: New.
* testsuite/24_iterators/operations/next_neg.cc: New.
From-SVN: r227447
2015-09-03 15:35:43 +01:00
Sebastian Huber
37d13ae648
libstdc++: Run tests on RTEMS
...
libstdc++-v3/ChangeLog
* testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target
selector to all lines which contain a *-*-cygwin target selector.
* testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
* testsuite/21_strings/basic_string/pthread33394.cc: Likewise.
* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
* testsuite/23_containers/list/pthread1.cc: Likewise.
* testsuite/23_containers/list/pthread5.cc: Likewise.
* testsuite/23_containers/map/pthread6.cc: Likewise.
* testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
* testsuite/30_threads/async/42819.cc: Likewise.
* testsuite/30_threads/async/49668.cc: Likewise.
* testsuite/30_threads/async/54297.cc: Likewise.
* testsuite/30_threads/async/any.cc: Likewise.
* testsuite/30_threads/async/async.cc: Likewise.
* testsuite/30_threads/async/launch.cc: Likewise.
* testsuite/30_threads/async/lwg2021.cc: Likewise.
* testsuite/30_threads/async/sync.cc: Likewise.
* testsuite/30_threads/call_once/39909.cc: Likewise.
* testsuite/30_threads/call_once/49668.cc: Likewise.
* testsuite/30_threads/call_once/60497.cc: Likewise.
* testsuite/30_threads/call_once/call_once1.cc: Likewise.
* testsuite/30_threads/condition_variable/54185.cc: Likewise.
* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
* testsuite/30_threads/condition_variable/members/3.cc: Likewise.
* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
* testsuite/30_threads/future/cons/move.cc: Likewise.
* testsuite/30_threads/future/members/45133.cc: Likewise.
* testsuite/30_threads/future/members/get.cc: Likewise.
* testsuite/30_threads/future/members/get2.cc: Likewise.
* testsuite/30_threads/future/members/share.cc: Likewise.
* testsuite/30_threads/future/members/valid.cc: Likewise.
* testsuite/30_threads/future/members/wait.cc: Likewise.
* testsuite/30_threads/future/members/wait_for.cc: Likewise.
* testsuite/30_threads/future/members/wait_until.cc: Likewise.
* testsuite/30_threads/lock/1.cc: Likewise.
* testsuite/30_threads/lock/2.cc: Likewise.
* testsuite/30_threads/lock/3.cc: Likewise.
* testsuite/30_threads/lock/4.cc: Likewise.
* testsuite/30_threads/mutex/cons/1.cc: Likewise.
* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/mutex/lock/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/mutex/unlock/2.cc: Likewise.
* testsuite/30_threads/packaged_task/49668.cc: Likewise.
* testsuite/30_threads/packaged_task/60564.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
* testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
Likewise.
* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
* testsuite/30_threads/promise/60966.cc: Likewise.
* testsuite/30_threads/promise/cons/1.cc: Likewise.
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
* testsuite/30_threads/promise/cons/move.cc: Likewise.
* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
* testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
* testsuite/30_threads/promise/members/get_future.cc: Likewise.
* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value.cc: Likewise.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
* testsuite/30_threads/promise/members/swap.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
* testsuite/30_threads/shared_future/members/get.cc: Likewise.
* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/this_thread/1.cc: Likewise.
* testsuite/30_threads/this_thread/2.cc: Likewise.
* testsuite/30_threads/this_thread/3.cc: Likewise.
* testsuite/30_threads/this_thread/4.cc: Likewise.
* testsuite/30_threads/thread/cons/1.cc: Likewise.
* testsuite/30_threads/thread/cons/2.cc: Likewise.
* testsuite/30_threads/thread/cons/3.cc: Likewise.
* testsuite/30_threads/thread/cons/4.cc: Likewise.
* testsuite/30_threads/thread/cons/49668.cc: Likewise.
* testsuite/30_threads/thread/cons/5.cc: Likewise.
* testsuite/30_threads/thread/cons/6.cc: Likewise.
* testsuite/30_threads/thread/cons/7.cc: Likewise.
* testsuite/30_threads/thread/cons/8.cc: Likewise.
* testsuite/30_threads/thread/cons/9.cc: Likewise.
* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
* testsuite/30_threads/thread/members/1.cc: Likewise.
* testsuite/30_threads/thread/members/2.cc: Likewise.
* testsuite/30_threads/thread/members/3.cc: Likewise.
* testsuite/30_threads/thread/members/4.cc: Likewise.
* testsuite/30_threads/thread/members/5.cc: Likewise.
* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
* testsuite/30_threads/thread/swap/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
* testsuite/30_threads/try_lock/1.cc: Likewise.
* testsuite/30_threads/try_lock/2.cc: Likewise.
* testsuite/30_threads/try_lock/3.cc: Likewise.
* testsuite/30_threads/try_lock/4.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
* testsuite/ext/rope/pthread7-rope.cc: Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
Likewise.
From-SVN: r227429
2015-09-03 05:45:33 +00:00
Dmitry Vyukov
710465235b
libstdc++: fix data races in basic_string implementation
...
* include/bits/basic_string.h: Fix data races on _M_refcount.
From-SVN: r227403
2015-09-02 07:35:20 -07:00
Sebastian Huber
d8e19f3114
re PR libstdc++/67408 (<mutex> assumes that __gthread_mutex_t and__gthread_recursive_mutex_t are the same types)
...
2015-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR libstdc++/67408
* include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use
_Derived::_M_timedlock().
(timed_mutex): Add _M_timedlock() and make base class a friend.
(recursive_timed_mutex): Likewise.
From-SVN: r227400
2015-09-02 11:51:14 +01:00
Tim Shen
cae4063cea
re PR libstdc++/67362 (std::regex("((.)", std::regex_constants::basic) throws)
...
PR libstdc++/67362
* include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
Always returns ordinary char token if the char isn't
considered a special char.
* testsuite/28_regex/regression.cc: New test file for collecting
regression testcases from, typically, bugzilla.
From-SVN: r227289
2015-08-28 02:35:21 +00:00
Jonathan Wakely
e994d230f1
re PR libstdc++/67374 (std::cbegin can't call valarray range access functions)
...
PR libstdc++/67374
* include/bits/range_access.h (valarray, begin, end): Declare.
* testsuite/26_numerics/valarray/range_access.cc: Test const
overloads.
* testsuite/26_numerics/valarray/range_access2.cc: New.
From-SVN: r227274
2015-08-27 20:05:19 +01:00
John Marino
a98e4e62c1
Provide nearly complete std::locale support for DragonFly
...
2015-08-27 John Marino <gnugcc@marino.st>
* acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
from generic to new DragonFly versions.
* configure: Regenerate.
* config/locale/dragonfly/c_locale.cc: Improve locale support.
* config/locale/dragonfly/ctype_members.cc: Likewise.
* config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
* config/locale/dragonfly/c_locale.h: New.
* config/locale/dragonfly/codecvt_members.cc: New.
* config/locale/dragonfly/collate_members.cc: New.
* config/locale/dragonfly/monetary_members.cc: New.
* config/locale/dragonfly/numeric_members.cc: New.
* config/locale/dragonfly/time_members.cc: New.
* config/locale/dragonfly/time_members.h: New.
From-SVN: r227257
2015-08-27 13:12:41 +01:00
Jonathan Wakely
a185c87663
* configure: Regenerate.
...
From-SVN: r227256
2015-08-27 13:12:31 +01:00
Edward Smith-Rowland
33df19a736
Ensure std::generate_canonical doesn't return 1.
...
2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/64351
PR libstdc++/63176
* include/bits/random.tcc (generate_canonical): Loop until we get a
result less than one.
* testsuite/26_numerics/random/uniform_real_distribution/operators/
64351.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r227233
2015-08-26 22:27:09 +01:00
Jonathan Wakely
6bc41b268e
Only set std::enable_shared_from_this member once.
...
* include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
nullptr.
* include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
if ownership is already shared with a shared_ptr object.
(__enable_shared_from_this_helper): Use nullptr.
* testsuite/20_util/enable_shared_from_this/members/const.cc: New.
* testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
* testsuite/20_util/enable_shared_from_this/requirements/
explicit_instantiation.cc: Instantiate with const and incomplete types.
From-SVN: r227232
2015-08-26 22:27:00 +01:00
Jonathan Wakely
66c182be12
try_emplace and insert_or_assign for Debug Mode.
...
* include/debug/map.h (map::try_emplace, map::insert_or_assign):
Define.
* include/debug/unordered_map (unordered_map::try_emplace,
unordered_map::insert_or_assign): Define.
From-SVN: r227229
2015-08-26 21:58:14 +01:00
Jonathan Wakely
e41fd1f067
libstdc++/66902 Make _S_debug_messages static.
...
PR libstdc++/66902
* src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
From-SVN: r227228
2015-08-26 21:22:58 +01:00
François Dumont
630a286ab6
re PR libstdc++/60519 (Debug mode should check comparators for irreflexivity)
...
2015-08-24 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/60519
* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
New enum entry.
* include/debug/functions.h (_Irreflexive_checker): New.
(__is_irreflexive, __is_irreflexive_pred): New.
* include/debug/macros.h
(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
macros.
(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
macros limited to post-C++11 mode.
* include/debug/debug.h
(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
New macros, use latter.
(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
Likewise.
* include/bits/stl_algo.h
(partial_sort_copy): Add irreflexive debug check.
(partial_sort_copy): Likewise.
(lower_bound): Likewise.
(upper_bound): Likewise.
(equal_range): Likewise.
(binary_search): Likewise.
(inplace_merge): Likewise.
(includes): Likewise.
(next_permutation): Likewise.
(prev_permutation): Likewise.
(is_sorted_until): Likewise.
(minmax_element): Likewise.
(partial_sort): Likewise.
(nth_element): Likewise.
(sort): Likewise.
(merge): Likewise.
(stable_sort): Likewise.
(set_union): Likewise.
(set_intersection): Likewise.
(set_difference): Likewise.
(set_symmetric_difference): Likewise.
(min_element): Likewise.
(max_element): Likewise.
* include/bits/stl_algobase.h
(lower_bound): Likewise.
(lexicographical_compare): Likewise.
* include/bits/stl_heap.h
(push_heap): Likewise.
(pop_heap): Likewise.
(make_heap): Likewise.
(sort_heap): Likewise.
(is_heap_until): Likewise.
* testsuite/25_algorithms/lexicographical_compare/debug/
irreflexive_neg.cc: New.
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
New.
From-SVN: r227189
2015-08-25 20:27:03 +00:00
François Dumont
25c65938c8
Revert my change to commit with PR reference again.
...
From-SVN: r227187
2015-08-25 20:22:47 +00:00
François Dumont
41e4e5edce
formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry.
...
2015-08-24 François Dumont <fdumont@gcc.gnu.org>
* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
New enum entry.
* include/debug/functions.h (_Irreflexive_checker): New.
(__is_irreflexive, __is_irreflexive_pred): New.
* include/debug/macros.h
(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
macros.
(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
macros limited to post-C++11 mode.
* include/debug/debug.h
(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
New macros, use latter.
(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
Likewise.
* include/bits/stl_algo.h
(partial_sort_copy): Add irreflexive debug check.
(partial_sort_copy): Likewise.
(lower_bound): Likewise.
(upper_bound): Likewise.
(equal_range): Likewise.
(binary_search): Likewise.
(inplace_merge): Likewise.
(includes): Likewise.
(next_permutation): Likewise.
(prev_permutation): Likewise.
(is_sorted_until): Likewise.
(minmax_element): Likewise.
(partial_sort): Likewise.
(nth_element): Likewise.
(sort): Likewise.
(merge): Likewise.
(stable_sort): Likewise.
(set_union): Likewise.
(set_intersection): Likewise.
(set_difference): Likewise.
(set_symmetric_difference): Likewise.
(min_element): Likewise.
(max_element): Likewise.
* include/bits/stl_algobase.h
(lower_bound): Likewise.
(lexicographical_compare): Likewise.
* include/bits/stl_heap.h
(push_heap): Likewise.
(pop_heap): Likewise.
(make_heap): Likewise.
(sort_heap): Likewise.
(is_heap_until): Likewise.
* testsuite/25_algorithms/lexicographical_compare/debug/
irreflexive_neg.cc: New.
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
New.
From-SVN: r227147
2015-08-24 20:21:57 +00:00
Jonathan Wakely
4a88769c96
re PR libstdc++/65049 (Undefined behaviour with std::char_traits<char>)
...
PR libstdc++/65049
* include/bits/char_traits.h (char_traits<char>::compare,
char_traits<char>::find, char_traits<char>::move,
char_traits<char>::copy, char_traits<char>::assign): Check for zero
length.
(char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
char_traits<wchar_t>::assign): Likewise.
(char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
(char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
* include/ext/pod_char_traits.h (char_traits<character<>>::move,
char_traits<character<>>::copy): Likewise.
* testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
* testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
New.
* testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
New.
* testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
New.
From-SVN: r227127
2015-08-24 14:43:54 +01:00
Jonathan Wakely
3af7efb7d9
re PR libstdc++/67309 (Error compiling with -std=c++11 and -fsingle-precision-constant)
...
PR libstdc++/67309
* include/bits/random.tcc
(poisson_distribution::param_type::_M_initialize): Use max<double>.
(binomial_distribution::param_type::_M_initialize): Likewise.
* testsuite/17_intro/headers/c++200x/67309.cc: New.
* testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
redundant header.
From-SVN: r227126
2015-08-24 14:43:36 +01:00
Jonathan Wakely
4ba1fef27d
libstdc++/67294 Don't run timed mutex tests on Darwin
...
PR libstdc++/67294
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
on Darwin.
* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
From-SVN: r227043
2015-08-20 21:36:19 +01:00
Jonathan Wakely
89f0694859
any (__any_caster): Define at namespace scope so the name is visible to name lookup.
...
* include/experimental/any (__any_caster): Define at namespace scope
so the name is visible to name lookup.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
From-SVN: r227042
2015-08-20 21:19:58 +01:00
Jonathan Wakely
f3f61ed2ab
Makefile.am: Ensure gdb.py is installed for libstdc++ not libstdc++fs.
...
* python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
libstdc++fs.
* python/Makefile.in: Regenerate.
# Auto-generated commit message above this line, original below.
* python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
libstdc++fs.
* python/Makefile.in: Regenerate.
From-SVN: r227030
2015-08-20 11:50:02 +01:00
Paolo Carlini
dce573c43f
cmath: Fix typo in comment.
...
2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_global/cmath: Fix typo in comment.
From-SVN: r227007
2015-08-19 13:20:29 +00:00
Paolo Carlini
157177af99
cmath: Revert fix for libstdc++/58625...
...
2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_global/cmath: Revert fix for libstdc++/58625, no
longer necessary (__builtin_signbit is now type-generic).
From-SVN: r227006
2015-08-19 13:17:51 +00:00
Jonathan Wakely
f641b2d6bb
re PR c++/67216 (false is still a null pointer constant)
...
PR c++/67216
* testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
Fix use of safe-bool idiom that isn't valid in C++11.
From-SVN: r226986
2015-08-18 19:04:48 +01:00
Jonathan Wakely
e92e7c15e1
* include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
...
From-SVN: r226985
2015-08-18 19:04:42 +01:00
Jonathan Wakely
4c2b10d6a4
re PR libstdc++/67066 (libstdc++-v3/src/filesystem/dir.cc fails to compile with --enable-concept-checks)
...
PR libstdc++/67066
* doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
caveats for --enable-concept-checks. Improve link text.
* doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
Clarify caveats.
* doc/html/*: Regenerate.
* include/bits/stl_deque.h (deque): Only use concept checks in C++03.
* include/bits/stl_stack.h (stack): Likewise.
* include/bits/stl_vector.h (vector): Likewise.
From-SVN: r226984
2015-08-18 19:04:32 +01:00
Jonathan Wakely
2548a4d6ba
any (any::operator=(const any&)): Move check for self-assignment.
...
* include/experimental/any (any::operator=(const any&)): Move check
for self-assignment.
(any::operator=(any&&)): Add check for self-assignment.
(any::operator=(_ValueType&&)): Constrain template argument.
(any::swap(any&)): Add check for self-swap.
* testsuite/experimental/any/assign/self.cc: Test move and swap.
* testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error.
From-SVN: r226894
2015-08-14 12:51:18 +01:00
Jonathan Wakely
357c9f7edc
array: Add feature-test macro.
...
* include/experimental/array: Add feature-test macro.
* testsuite/experimental/array/neg.cc: Update dg-error.
From-SVN: r226893
2015-08-14 12:51:05 +01:00
Ville Voutilainen
708768eb18
neg.s: Remove.
...
2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
* testsuite/experimental/array/neg.s: Remove.
* testsuite/experimental/array/neg.ii.gz: Remove.
From-SVN: r226866
2015-08-13 18:00:20 +03:00
Ville Voutilainen
9638eccd55
Implement std::experimental::fundamentals_v2::make_array and std::experimental::fundamentals_v2::to_array.
...
2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement std::experimental::fundamentals_v2::make_array and
std::experimental::fundamentals_v2::to_array.
* include/Makefile.am: Add array.
* include/Makefile.in: Add array.
* include/experimental/array: New.
* testsuite/experimental/array/make_array.cc: Likewise.
* testsuite/experimental/array/neg.cc: Likewise.
* doc/html/manual/status.html: Mark make_array as Y.
* doc/xml/manual/status_cxx2017.xml: Likewise.
From-SVN: r226865
2015-08-13 17:55:46 +03:00
Jonathan Wakely
db23e4c46f
alloc_traits.h: Add feature-test macro.
...
* include/bits/alloc_traits.h: Add feature-test macro.
* include/bits/allocator.h: Likewise.
* include/bits/range_access.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/unordered_map.h: Likewise.
From-SVN: r226864
2015-08-13 14:57:41 +01:00
Jonathan Wakely
0072c9ac90
2.cc: New.
...
* testsuite/30_threads/mutex/unlock/2.cc: New.
* testsuite/30_threads/recursive_mutex/unlock/2.cc: New.
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New.
* testsuite/30_threads/shared_mutex/unlock/1.cc: New.
* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New.
* testsuite/30_threads/timed_mutex/unlock/2.cc: New.
From-SVN: r226863
2015-08-13 14:57:35 +01:00
Eelis van der Weegen
4c80e54478
shared_mutex (shared_mutex::unlock()): Fix typo.
...
2015-08-13 Eelis van der Weegen <eelis@eelis.net>
* include/std/shared_mutex (shared_mutex::unlock()): Fix typo.
From-SVN: r226862
2015-08-13 14:57:28 +01:00
Caroline Tice
441fb2cdb7
Fix warnings when bootstrapping on darwin with vtable verification enabled.
...
libstdc++-v3/ChangeLog:
2015-08-11 Caroline Tice <cmtice@google.com>
PR 66521, Contributed by Eric Gallager
* acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
fix the rpath flag to work properly for darwin.
* configure: Regenerated.
From-SVN: r226820
2015-08-12 08:40:11 -07:00
Jonathan Wakely
93666a7b00
appendix_contributing.xml: Update patch email policy.
...
* doc/xml/manual/appendix_contributing.xml: Update patch email policy.
* doc/xml/manual/status_cxx2017.xml: Update status table.
* doc/html/manual/*: Regenerate.
From-SVN: r226806
2015-08-12 11:47:30 +01:00
Ville Voutilainen
b95170d380
Implement N4279, Improved insertion interface for unique-key maps.
...
2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement N4279, Improved insertion interface for unique-key maps.
* include/bits/stl_map.h (try_emplace, insert_or_assign): New.
* include/bits/stl_tree.h (_M_get_insert_unique_pos,
_M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
_M_get_insert_hint_equal_pos): Make public.
* include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
Likewise.
* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
Likewise.
* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
Likewise.
From-SVN: r226743
2015-08-09 01:57:13 +03:00
Ville Voutilainen
f334456903
Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) and N4366 LWG 2228...
...
2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
templated assignment
* include/bits/unique_ptr.h
(__remove_cv, __is_derived_Tp): Remove.
(default_delete::default_delete(const default_delete<_Up[]>)):
Constrain with array convertibility.
(default_delete::operator(_Up*)): Turn into a template,
constrain with array convertibility.
(__safe_conversion_up): New, single object version.
(unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
convertibility.
(unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
is_assignable as a constraint.
(__safe_conversion_up): Array version, renamed from __safe_conversion,
updated to implement N4089.
(__safe_conversion_raw): New.
(unique_ptr(_Up)): Turn into a template, constrain with array
convertibility.
(unique_ptr(_Up,
typename conditional<is_reference<deleter_type>::value,
deleter_type, const deleter_type&>::type)): Likewise.
(unique_ptr(_Up, typename
remove_reference<deleter_type>::type&&)): Likewise.
(unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
(operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
is_assignable as a constraint (array version).
(reset(_Up)): Turn into a template, constrain with array
convertibility.
(reset(nullptr_t)): New.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
* testsuite/20_util/unique_ptr/dr2228.cc: New.
* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
From-SVN: r226733
2015-08-08 14:07:34 +03:00
Nikolai Bozhenov
e1ed1bca36
constexpr.cc: Remove redundant -save-temps option.
...
2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com>
* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
redundant -save-temps option.
* testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
* testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
* testsuite/30_threads/future/cons/constexpr.cc: Likewise.
* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
From-SVN: r226647
2015-08-05 21:57:03 +01:00
Jonathan Wakely
93411db8c7
re PR libstdc++/67078 (FAIL: 24_iterators/container_access.cc (test for excess errors) on aarch64-none-elf)
...
PR libstdc++/67078
* include/bits/range_access.h (size, empty, data): Fix _N bad name.
From-SVN: r226515
2015-08-03 16:56:17 +01:00
Jonathan Wakely
155bfacbbe
current_path.cc: Use canonical paths for comparisons.
...
* testsuite/experimental/filesystem/operations/current_path.cc: Use
canonical paths for comparisons.
From-SVN: r226402
2015-07-30 13:41:33 +01:00
Tim Shen
81b7ff079a
regex_automaton.h (_State_base, _State<>): Remove _TraitsT dependency from _State<>...
...
* include/bits/regex_automaton.h (_State_base, _State<>):
Remove _TraitsT dependency from _State<>; Make matcher member
into the union to reduce struct size.
* include/bits/regex_automaton.tcc (_State_base<>::_M_print,
_State_base<>::_M_dot, _StateSeq<>::_M_clone):
Adjust to fit the interface. Factor out common parts in
_M_clone as _State<>::_M_has_alt.
* include/bits/regex_executor.h (_Executer<>::_M_lookahead):
Only pass state id instead of the whole state.
* include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
_Executer<>::_M_lookahead): Adjust to fit the interface.
* include/std/regex: Include <ext/aligned_buffer.h>
From-SVN: r226395
2015-07-30 10:35:45 +00:00
Jonathan Wakely
2e3f48dc43
any (any::operator=(const any&)): Check for self-assignment.
...
* include/experimental/any (any::operator=(const any&)): Check for
self-assignment.
* testsuite/experimental/any/assign/self.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
From-SVN: r226393
2015-07-30 11:00:39 +01:00
Jonathan Wakely
626b8d8a48
re PR libstdc++/66829 (FAIL: 23_containers/multiset/modifiers/erase/dr130-linkage-check.cc)
...
PR libstdc++/66829
* testsuite/lib/libstdc++.exp (v3-build_support): Compile
testsuite_shared.cc with -std=gnu++98.
From-SVN: r226354
2015-07-29 15:56:11 +01:00
Ville Voutilainen
a460d06d16
range_access.h: Change class to typename in every template.
...
2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
* include/bits/range_access.h: Change class to typename in every
template.
(size, empty, data): New functions from N4280.
* testsuite/24_iterators/container_access.cc: New.
From-SVN: r226348
2015-07-29 13:41:32 +01:00
Ville Voutilainen
1fa9ba224e
re PR libstdc++/60970 (Support std::hash with enum types (LWG 2148))
...
2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
PR libstdc++/60970
* include/bits/functional_hash.h (__hash_enum): New.
(hash): Derive from __hash_enum.
* testsuite/20_util/hash/60970.cc: New.
From-SVN: r226347
2015-07-29 13:41:23 +01:00
Tim Shen
f9ce3c1639
re PR libstdc++/67015 ("^[a-z0-9][a-z0-9-]*$", std::regex::extended is miscompiled)
...
PR libstdc++/67015
* include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
_BracketMatcher<>::_M_add_collating_element): Change signature
to make checking the and of bracket expression easier.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
Treat '-' as a valid literal if it's at the end of bracket expression.
* testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
New testcases.
From-SVN: r226336
2015-07-29 03:45:35 +00:00
Jonathan Wakely
fa0ed2b062
* include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
...
(_M_load_and_test_until): Whitespace.
(_M_load_and_test): Value-initialize the unused durations.
(_M_load_when_equal): Add missing return value.
From-SVN: r226174
2015-07-24 17:30:04 +01:00
Michael Haubenwallner
74b7ec8c45
libstdc++-v3/fragment.am (AM_CPPFLAGS): Add CPPFLAGS
...
2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
* fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* src/c++11/Makefile.in: Regenerate.
* src/c++98/Makefile.in: Regenerate.
* src/filesystem/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
From-SVN: r226138
2015-07-24 07:05:19 +00:00
DJ Delorie
8161e0c343
functional_hash.h: Add specializations for __intN types.
...
* include/bits/functional_hash.h: Add specializations for __intN
types.
* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
Guard against values that might exceed size_t's precision.
From-SVN: r226117
2015-07-23 13:57:34 -04:00
Jason Merrill
3a353ff584
* include/bits/c++config: Fix abi_tag in special modes.
...
From-SVN: r226022
2015-07-20 18:39:54 -04:00
Jonathan Wakely
5a7dbecc2e
status_cxx2017.xml: Fix URL for N4279.
...
* doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
* doc/html/manual/status.html: Regenerate.
From-SVN: r225988
2015-07-19 19:32:35 +01:00
Jonathan Wakely
9298e25f6c
status_cxx2011.xml: Add caveats for native_handle.
...
* doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
* doc/html/manual/status.html: Regenerate.
From-SVN: r225939
2015-07-17 17:08:14 +01:00