Jonathan Wakely
27631a2542
Remove deprecated has_trivial_xxx traits
...
* include/std/type_traits (has_trivial_default_constructor): Remove.
(has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
* testsuite/20_util/has_trivial_copy_assign/requirements/
explicit_instantiation.cc: Remove test.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
* testsuite/20_util/has_trivial_copy_constructor/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/has_trivial_copy_constructor/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
* testsuite/20_util/has_trivial_default_constructor/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/has_trivial_default_constructor/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/has_trivial_default_constructor/value.cc:
Likewise.
* testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
Check has_trivial_default_constructor, has_trivial_copy_constructor,
and has_trivial_copy_assign are not defined.
* testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
tests.
* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line number.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r239079
2016-08-03 16:18:30 +01:00
Jonathan Wakely
589a30d1a4
Fix std::wstring allocator tests
...
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
Likewise.
From-SVN: r238996
2016-08-02 20:34:36 +01:00
Jonathan Wakely
8bcd00bb13
Improve comments on check_v3_target_filesystem_ts
...
* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
comments.
From-SVN: r238995
2016-08-02 20:34:30 +01:00
Jonathan Wakely
a4e1011c49
Move dg-error directives to relevant lines
...
* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
dg-error to relevant line.
* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
Likewise.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
From-SVN: r238994
2016-08-02 20:34:25 +01:00
Jonathan Wakely
807bd0963e
Skip C tests if test flags include C++ options
...
* testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
options are present that aren't valid for C.
* testsuite/abi/header_cxxabi.c: Likewise.
From-SVN: r238988
2016-08-02 14:32:26 +01:00
Jonathan Wakely
8c65cd3054
Test TR1 special functions without adding them to std
...
* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
check_value.cc: Do not add special functions to namespace std in TR1
test.
From-SVN: r238987
2016-08-02 14:32:21 +01:00
Jonathan Wakely
196c9e7a7d
Only run math special function tests for C++11 and later
...
* testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
run for C++11 and later.
* testsuite/ext/special_functions/conf_hyperg/check_value.cc:
Likewise.
* testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
* testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
* testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_value.cc:
Likewise.
* testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
Likewise.
* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
Likewise.
* testsuite/special_functions/02_assoc_legendre/check_value.cc:
Likewise.
* testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
* testsuite/special_functions/02_assoc_legendre/compile_2.cc:
* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
* testsuite/special_functions/03_beta/check_value.cc: Likewise.
* testsuite/special_functions/03_beta/compile.cc: Likewise.
* testsuite/special_functions/03_beta/compile_2.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_value.cc:
Likewise.
* testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_value.cc:
Likewise.
* testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_value.cc:
Likewise.
* testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
Likewise.
* testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
Likewise.
* testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
Likewise.
* testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
* testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
* testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
* testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
* testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
* testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
* testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
* testsuite/special_functions/14_expint/check_value.cc: Likewise.
* testsuite/special_functions/14_expint/compile.cc: Likewise.
* testsuite/special_functions/14_expint/compile_2.cc: Likewise.
* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
* testsuite/special_functions/15_hermite/check_value.cc: Likewise.
* testsuite/special_functions/15_hermite/compile.cc: Likewise.
* testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
* testsuite/special_functions/16_laguerre/compile.cc: Likewise.
* testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/17_legendre/check_value.cc: Likewise.
* testsuite/special_functions/17_legendre/compile.cc: Likewise.
* testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_value.cc:
Likewise.
* testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/check_value.cc:
Likewise.
* testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
From-SVN: r238986
2016-08-02 14:32:16 +01:00
Jonathan Wakely
69332dba20
Make TR1 special function tests support C++98
...
* testsuite/tr1/5_numerical_facilities/special_functions/
08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
of [[gnu::unused]].
* testsuite/tr1/5_numerical_facilities/special_functions/
09_cyl_bessel_j/check_value.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
10_cyl_bessel_k/check_value.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
11_cyl_neumann/check_value.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
21_sph_bessel/check_value.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
23_sph_neumann/check_value.cc: Likewise.
From-SVN: r238985
2016-08-02 14:32:02 +01:00
Jonathan Wakely
e877144da9
Skip scan-assembler test when -flto is used
...
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
test if -flto used.
From-SVN: r238981
2016-08-02 11:02:25 +01:00
Jonathan Wakely
c1b6948e1b
Support using -flto with libstdc++ testsuite
...
* testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
additional flags for compiling libtestc++.a objects.
From-SVN: r238978
2016-08-02 10:40:50 +01:00
Jonathan Wakely
92d58deefa
Add non-const std::basic_string::data() for C++17
...
* include/bits/basic_string.h (data() const): Update comment.
(data()): Add non-const overload for C++17.
* testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
* testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
From-SVN: r238963
2016-08-01 21:12:58 +01:00
Jonathan Wakely
9839ff60d0
Remove ignored "xfail" from dg-do compile directives
...
* testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
ignored "xfail" from { dg-do compile { xfail selector } } directive.
* testsuite/23_containers/unordered_multimap/requirements/53339.cc:
Likewise.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++11.cc: Likewise.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++98.cc: Likewise.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c.cc: Likewise.
From-SVN: r238954
2016-08-01 15:13:06 +01:00
Jonathan Wakely
cbcc9fe8b8
Fix __gnu_cxx::hash_set test to pass in C++98 mode
...
* testsuite/backward/hash_set/check_construct_destroy.cc: Account
for different construct/destroy counts in C++98 mode.
From-SVN: r238952
2016-08-01 13:45:47 +01:00
Jonathan Wakely
7481147265
Remove "-x c" from dg-options in libstdc++ C++ test
...
* testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
From-SVN: r238946
2016-08-01 13:18:23 +01:00
Jonathan Wakely
a02a61eeaa
Limit std::tuple tests to run for C++11 and later
...
* testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
later.
* testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
Likewise.
From-SVN: r238945
2016-08-01 13:18:18 +01:00
Jonathan Wakely
98b5fb3cbc
Make libstdc++ debug mode test valid for C++98
...
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
C++98-compatible initialization for array.
From-SVN: r238944
2016-08-01 13:18:13 +01:00
Jonathan Wakely
6f3b889189
Remove unused headers and variables from libstdc++ tests
...
* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
unused header and variable from compile-only test.
* testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
Likewise.
From-SVN: r238943
2016-08-01 13:18:08 +01:00
Jonathan Wakely
2ab794ebf5
Remove duplicate dg-options directive in string_view test
...
* testsuite/experimental/string_view/operations/rfind/char/2.cc:
Remove duplicate dg-options directive.
From-SVN: r238942
2016-08-01 13:17:59 +01:00
Jonathan Wakely
4d16871b22
Use -std=gnu++98 instead of -std=gnu++03 in test
...
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
From-SVN: r238941
2016-08-01 13:17:54 +01:00
Jonathan Wakely
e350983522
Remove linker options from compile-only tests
...
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
linker options from compile-only tests.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise.
From-SVN: r238940
2016-08-01 13:17:49 +01:00
Jonathan Wakely
9b46e4d6dd
Run std::ios_base enum tests for C++11 and up
...
* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
supported for C++11 and later.
* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
From-SVN: r238939
2016-08-01 13:17:43 +01:00
Jonathan Wakely
c4da1da21e
Change std::conditional test to compile-only
...
* testsuite/20_util/conditional/requirements/typedefs.cc: Change to
compile-only test.
From-SVN: r238930
2016-07-31 20:37:14 +01:00
Jonathan Wakely
9d5b70b036
Ensure std::atomic test is compiled with optimization
...
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Ensure test is compiled with optimization.
From-SVN: r238929
2016-07-31 20:30:16 +01:00
Jonathan Wakely
ee62805728
Fix DR 438 std::list test to pass in C++98 mode
...
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Adjust dg-prune-output pattern for error in C++98 mode.
From-SVN: r238928
2016-07-31 20:21:59 +01:00
Jonathan Wakely
d23d1bee8c
Enable std::regex test for C++11 or later
...
* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
run for C++11 or later.
From-SVN: r238927
2016-07-31 19:54:31 +01:00
Jonathan Wakely
f2738d6cf2
Fix non-portable std::regex test and test more cases
...
* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
test to not rely on GNU extension (escaped normal characters in POSIX
BRE). Enable tests for other strings which are now supported.
From-SVN: r238926
2016-07-31 19:46:30 +01:00
Jonathan Wakely
77f3d97909
Allow std::pair test to run in C++11 mode too
...
* testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
c++11 instead of setting -std=gnu++14.
From-SVN: r238925
2016-07-31 19:12:28 +01:00
Jonathan Wakely
3c040fa4a2
libstdc++/72745 add static assertion for invalid tuple access
...
PR libstdc++/72745
* include/std/array (get): Use positive message for static assertions.
* include/std/functional (_Safe_tuple_element_t): Fix indentation.
* include/std/tuple (tuple_element<I, tuple<>>): Add partial
specialization for invalid indices, with static assertion.
* testsuite/20_util/tuple/element_access/get_neg.cc: New test.
From-SVN: r238924
2016-07-31 18:08:52 +01:00
Jonathan Wakely
f245e3a0ee
Move dg-error directives to relevant lines
...
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
dg-error to relevant line.
* testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/
requirements/non_uint_neg.cc: Likewise.
* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
Likewise. Also test for std::atomic_address.
From-SVN: r238923
2016-07-31 17:51:08 +01:00
Ville Voutilainen
8c9142276b
Add missing variable traits, fix testsuite failures.
...
* include/bits/uses_allocator.h (uses_allocator_v): New.
* include/std/functional (is_bind_expression_v, is_placeholder_v):
Likewise.
* testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/duration/literals/range.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
* testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
New.
From-SVN: r238921
2016-07-31 17:52:53 +03:00
Jonathan Wakely
2f2971492b
Check __STRICT_ANSI__ for 128-bit arithmetic types
...
* testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
not test 128-bit types.
* testsuite/20_util/is_floating_point/value.cc: Likewise.
* testsuite/20_util/is_integral/value.cc: Likewise.
* testsuite/20_util/is_signed/value.cc: Likewise.
* testsuite/20_util/is_unsigned/value.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise.
From-SVN: r238918
2016-07-31 14:06:38 +01:00
Jonathan Wakely
7523c5eb1a
Fix file extension of libstdc++ test
...
* testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
From-SVN: r238917
2016-07-31 14:03:46 +01:00
Ville Voutilainen
137422c80c
Implement C++17 variable templates for type traits.
...
* include/std/chrono (treat_as_floating_point_v): New.
* include/std/ratio (ratio_equal_v, ratio_not_equal_v)
(ratio_less_v, ratio_less_equal_v, ratio_greater_v)
(ratio_greater_equal_v): Likewise.
* include/std/system_error (is_error_code_enum_v)
(is_error_condition_enum_v): Likewise.
* include/std/tuple (tuple_size_v): Likewise.
* type_traits (conjunction_v, disjunction_v, negation_v)
(is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
(is_array_v, is_pointer_v, is_lvalue_reference_v)
(is_rvalue_reference_v, is_member_object_pointer_v)
(is_member_function_pointer_v, is_enum_v, is_union_v)
(is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
(is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
(is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
(is_trivially_copyable_v, is_standard_layout_v)
(is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
(is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
(is_constructible_v, is_default_constructible_v)
(is_copy_constructible_v, is_move_constructible_v)
(is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
(is_destructible_v, is_trivially_constructible_v)
(is_trivially_default_constructible_v)
(is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
(is_trivially_assignable_v, is_trivially_copy_assignable_v)
(is_trivially_move_assignable_v, is_trivially_destructible_v)
(is_nothrow_constructible_v, is_nothrow_default_constructible_v)
(is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
(is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
(is_nothrow_move_assignable_v, is_nothrow_destructible_v)
(has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
(is_same_v, is_base_of_v, is_convertible_v): Likewise.
* testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
* testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
Likewise.
* testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
* testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
* testsuite/20_util/variable_templates_for_traits.cc: Likewise.
From-SVN: r238892
2016-07-29 22:01:39 +03:00
Jonathan Wakely
62589e99d1
New libstdc++ symbol version for new basic_string symbols
...
* acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
* config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
symbols.
* configure: Regenerate.
* testsuite/util/testsuite_abi.cc: Add new symbol version.
From-SVN: r238853
2016-07-29 11:42:17 +01:00
Jonathan Wakely
1a2196e484
Fix DR 438 container tests to pass in C++98 mode
...
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-prune-output pattern for error in C++98 mode.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r238837
2016-07-28 22:00:45 +01:00
Jonathan Wakely
e539b4ff2f
Fix std::vector test to pass in C++98 mode
...
* testsuite/23_containers/vector/check_construct_destroy.cc: Account
for different construct/destroy counts in C++98 mode.
From-SVN: r238836
2016-07-28 22:00:39 +01:00
Jonathan Wakely
c3c2f97308
Use dg-additional-options in libstdc++ tests
...
* testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
dg-options to dg-additional-options so that default options are used.
* testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
Likewise.
* testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
* testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
Likewise.
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Use dg-additional-options instead of repeating the common options.
From-SVN: r238835
2016-07-28 22:00:34 +01:00
Jonathan Wakely
2de6b25424
Fix invalid dg-do directives in libstdc++ tests
...
* testsuite/22_locale/conversions/string/1.cc: Remove unintended
dg-do compile directive.
* testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
dg-do directive.
* testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
From-SVN: r238834
2016-07-28 22:00:19 +01:00
Ville Voutilainen
ca8f2cb137
Implement std::string_view and P0254r2,
...
Integrating std::string_view and std::string.
* include/Makefile.am: Add string_view and string_view.tcc
to the exported headers.
* include/Makefile.in: Likewise.
* include/bits/basic_string.h: Include <string_view> in C++17 mode.
(__sv_type): New.
(basic_string(__sv_type, const _Alloc&)): Likewise.
(operator=(__sv_type)): Likewise.
(operator __sv_type()): Likewise.
(operator+=(__sv_type)): Likewise.
(append(__sv_type __sv)): Likewise.
(append(__sv_type, size_type, size_type)): Likewise.
(assign(__sv_type)): Likewise.
(assign(__sv_type, size_type, size_type)): Likewise.
(insert(size_type, __sv_type)): Likewise.
(insert(size_type, __sv_type, size_type, size_type)): Likewise.
(replace(size_type, size_type, __sv_type)): Likewise.
(replace(size_type, size_type, __sv_type, size_type, size_type)):
Likewise.
(replace(const_iterator, const_iterator, __sv_type)): Likewise.
(find(__sv_type, size_type)): Likewise.
(rfind(__sv_type, size_type)): Likewise.
(find_first_of(__sv_type, size_type)): Likewise.
(find_last_of(__sv_type, size_type)): Likewise.
(find_first_not_of(__sv_type, size_type)): Likewise.
(find_last_not_of(__sv_type, size_type)): Likewise.
(compare(__sv_type)): Likewise.
(compare(size_type, size_type, __sv_type)): Likewise.
(compare(size_type, size_type, __sv_type, size_type, size_type)):
Likewise.
* include/bits/string_view.tcc: New.
* include/std/string_view: Likewise.
* testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
* testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
Likewise.
* testsuite/21_strings/basic_string_view/include.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/range_access/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
Likewise.
* testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
* testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
From-SVN: r238823
2016-07-28 18:15:26 +03:00
Jonathan Wakely
427f68c6c2
* testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
...
From-SVN: r238793
2016-07-27 18:32:45 +01:00
Georeth Chow
a837417c79
Fix missing qualification in <ext/rope>
...
2016-07-25 Georeth Chow <georeth2010@gmail.com>
* include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
_S_concat enumerator.
* testsuite/ext/rope/6.cc: New test.
From-SVN: r238711
2016-07-25 13:56:12 +01:00
Jonathan Wakely
19bb30c065
Use std::mt19937, std::thread and std::atomic to simplify tests
...
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
std::mt19937, std::thread and std::atomic to simplify test.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
From-SVN: r238703
2016-07-25 11:31:53 +01:00
Jonathan Wakely
8cab3d18f0
Move allocator in std::string and RB tree move constructors
...
PR libstdc++/71964
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
* include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
* testsuite/21_strings/basic_string/allocator/71964.cc: New test.
* testsuite/23_containers/set/allocator/71964.cc: New test.
From-SVN: r238647
2016-07-22 16:03:11 +01:00
Jonathan Wakely
960637ac1a
Use correct form of delete in libstdc++.exp
...
* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
delete[] instead of delete.
From-SVN: r238632
2016-07-22 09:33:26 +01:00
Jonathan Wakely
8b649cd3ba
Fix naming, qualification and broken test for propagate_const
...
* include/experimental/propagate_const (propagate_const::__t): Rename
to _M_t and remove comment. Qualify std::move and std::forward.
* testsuite/experimental/propagate_const/cons/default.cc: Fix test.
From-SVN: r238611
2016-07-21 20:39:03 +01:00
Jonathan Wakely
509b778f6c
Define missing delete operators in libstdc++ testsuite
...
* testsuite/23_containers/vector/zero_sized_allocations.cc:
Define sized deallocation function.
* testsuite/util/testsuite_new_operators.h:
(operator delete(void*, const std::nothrow_t&)): Define nothrow
deallocation function.
From-SVN: r238610
2016-07-21 20:38:57 +01:00
Jonathan Wakely
e93a101f83
Fix out-of-bound array accesses in libstdc++ testsuite
...
* testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
reads past the end of strings.
* testsuite/21_strings/basic_string/operations/compare/char/1.cc:
Likewise.
* testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
invalid array accesses.
* testsuite/experimental/string_view/operations/compare/char/1.cc:
Fix read past the end of string.
* testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
From-SVN: r238609
2016-07-21 20:38:51 +01:00
Jonathan Wakely
0a024155c4
Fix missing returns in libstdc++ testsuite
...
* testsuite/24_iterators/container_access.cc: Fix missing returns.
* testsuite/24_iterators/range_access_cpp14.cc: Likewise.
From-SVN: r238608
2016-07-21 20:38:44 +01:00
Jonathan Wakely
22620c1452
Remove memory leaks in libstdc++ testsuite
...
* testsuite/18_support/new_delete_placement.cc: Don't allocate (and
leak) memory for arguments to placement delete.
* testsuite/20_util/addressof/1.cc: Don't leak memory.
* testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
Likewise.
From-SVN: r238607
2016-07-21 20:38:32 +01:00
Jonathan Wakely
e87b7d52c3
LWG 2441 Provide exact-width atomic typedefs
...
* include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
(atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
(atomic_uint64_t): Define (LWG 2441).
* testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
lines.
* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
the new types.
* doc/xml/manual/intro.xml: Document DR 2441 status.
From-SVN: r238534
2016-07-20 19:21:59 +01:00