File tree Expand file tree Collapse file tree 14 files changed +35
-20
lines changed
alg.modifying.operations/alg.move
alg.nonmodifying/alg.count
numerics/rand/rand.device
strings/string.view/string.view.comparison
thread.lock/thread.lock.scoped
thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class Expand file tree Collapse file tree 14 files changed +35
-20
lines changed Original file line number Diff line number Diff line change @@ -94,7 +94,7 @@ struct Test1OutIters {
94
94
95
95
TEST_CONSTEXPR_CXX20 bool test () {
96
96
types::for_each (types::cpp17_input_iterator_list<int *>(), TestOutIters ());
97
- if (TEST_STD_VER >= 23 || !TEST_IS_CONSTANT_EVALUATED )
97
+ if (TEST_STD_AT_LEAST_23_OR_RUNTIME_EVALUATED )
98
98
types::for_each (types::cpp17_input_iterator_list<std::unique_ptr<int >*>(), Test1OutIters ());
99
99
100
100
{ // Make sure that padding bits aren't copied
Original file line number Diff line number Diff line change @@ -92,7 +92,7 @@ struct Test1OutIters {
92
92
93
93
TEST_CONSTEXPR_CXX20 bool test () {
94
94
types::for_each (types::bidirectional_iterator_list<int *>(), TestOutIters ());
95
- if (TEST_STD_VER >= 23 || !TEST_IS_CONSTANT_EVALUATED )
95
+ if (TEST_STD_AT_LEAST_23_OR_RUNTIME_EVALUATED )
96
96
types::for_each (types::bidirectional_iterator_list<std::unique_ptr<int >*>(), Test1OutIters ());
97
97
98
98
{ // Make sure that padding bits aren't copied
Original file line number Diff line number Diff line change @@ -38,7 +38,7 @@ struct Test {
38
38
TEST_CONSTEXPR_CXX20 bool test () {
39
39
types::for_each (types::cpp17_input_iterator_list<const int *>(), Test ());
40
40
41
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
41
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
42
42
std::vector<bool > vec (256 + 64 );
43
43
for (ptrdiff_t i = 0 ; i != 256 ; ++i) {
44
44
for (size_t offset = 0 ; offset != 64 ; ++offset) {
Original file line number Diff line number Diff line change @@ -16,8 +16,8 @@ struct IntType {
16
16
17
17
constexpr bool operator ==(const IntType& rhs) const { return val == rhs.val ; }
18
18
constexpr operator int () const noexcept { return val; }
19
- constexpr operator unsigned char () const { return val; }
20
- constexpr operator signed char () const noexcept { return val; }
19
+ constexpr operator unsigned char () const { return static_cast < unsigned char >( val) ; }
20
+ constexpr operator signed char () const noexcept { return static_cast < signed char >( val) ; }
21
21
};
22
22
23
23
// only non-const convertible
@@ -28,8 +28,8 @@ struct IntTypeNC {
28
28
29
29
constexpr bool operator ==(const IntType& rhs) const { return val == rhs.val ; }
30
30
constexpr operator int () noexcept { return val; }
31
- constexpr operator unsigned () { return val; }
32
- constexpr operator char () noexcept { return val; }
31
+ constexpr operator unsigned () { return static_cast < unsigned >( val) ; }
32
+ constexpr operator char () noexcept { return static_cast < char >( val) ; }
33
33
};
34
34
35
35
// weird configurability of convertibility to int
Original file line number Diff line number Diff line change @@ -61,6 +61,7 @@ void check_random_device_invalid(const std::string &token) {
61
61
int main (int , char **) {
62
62
{
63
63
std::random_device r;
64
+ (void )r;
64
65
}
65
66
// Check the validity of various tokens
66
67
{
Original file line number Diff line number Diff line change @@ -51,7 +51,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
51
51
assert ((ConvertibleTo<SV>(v[i]) == v[j]) == expected);
52
52
assert ((v[i] == ConvertibleTo<SV>(v[j])) == expected);
53
53
54
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
54
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
55
55
assert ((std::basic_string<CharT, Traits>(v[i]) == v[j]) == expected);
56
56
assert ((v[i] == std::basic_string<CharT, Traits>(v[j])) == expected);
57
57
}
@@ -72,7 +72,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
72
72
assert ((abc.data () == abc0def) == false );
73
73
assert ((abc0def == abc.data ()) == false );
74
74
75
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
75
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
76
76
assert ((std::basic_string<CharT, Traits>(abc) == abc0def) == false );
77
77
assert ((abc0def == std::basic_string<CharT, Traits>(abc)) == false );
78
78
}
Original file line number Diff line number Diff line change @@ -51,7 +51,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
51
51
assert ((ConvertibleTo<SV>(v[i]) > v[j]) == expected);
52
52
assert ((v[i] > ConvertibleTo<SV>(v[j])) == expected);
53
53
54
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
54
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
55
55
assert ((std::basic_string<CharT, Traits>(v[i]) > v[j]) == expected);
56
56
assert ((v[i] > std::basic_string<CharT, Traits>(v[j])) == expected);
57
57
}
@@ -72,7 +72,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
72
72
assert ((abc.data () > abc0def) == false );
73
73
assert ((abc0def > abc.data ()) == true );
74
74
75
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
75
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
76
76
assert ((std::basic_string<CharT, Traits>(abc) > abc0def) == false );
77
77
assert ((abc0def > std::basic_string<CharT, Traits>(abc)) == true );
78
78
}
Original file line number Diff line number Diff line change @@ -51,7 +51,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
51
51
assert ((ConvertibleTo<SV>(v[i]) >= v[j]) == expected);
52
52
assert ((v[i] >= ConvertibleTo<SV>(v[j])) == expected);
53
53
54
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
54
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
55
55
assert ((std::basic_string<CharT, Traits>(v[i]) >= v[j]) == expected);
56
56
assert ((v[i] >= std::basic_string<CharT, Traits>(v[j])) == expected);
57
57
}
@@ -72,7 +72,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
72
72
assert ((abc.data () >= abc0def) == false );
73
73
assert ((abc0def >= abc.data ()) == true );
74
74
75
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
75
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
76
76
assert ((std::basic_string<CharT, Traits>(abc) >= abc0def) == false );
77
77
assert ((abc0def >= std::basic_string<CharT, Traits>(abc)) == true );
78
78
}
Original file line number Diff line number Diff line change @@ -51,7 +51,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
51
51
assert ((ConvertibleTo<SV>(v[i]) < v[j]) == expected);
52
52
assert ((v[i] < ConvertibleTo<SV>(v[j])) == expected);
53
53
54
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
54
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
55
55
assert ((std::basic_string<CharT, Traits>(v[i]) < v[j]) == expected);
56
56
assert ((v[i] < std::basic_string<CharT, Traits>(v[j])) == expected);
57
57
}
@@ -72,7 +72,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
72
72
assert ((abc.data () < abc0def) == true );
73
73
assert ((abc0def < abc.data ()) == false );
74
74
75
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
75
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
76
76
assert ((std::basic_string<CharT, Traits>(abc) < abc0def) == true );
77
77
assert ((abc0def < std::basic_string<CharT, Traits>(abc)) == false );
78
78
}
Original file line number Diff line number Diff line change @@ -51,7 +51,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
51
51
assert ((ConvertibleTo<SV>(v[i]) <= v[j]) == expected);
52
52
assert ((v[i] <= ConvertibleTo<SV>(v[j])) == expected);
53
53
54
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
54
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
55
55
assert ((std::basic_string<CharT, Traits>(v[i]) <= v[j]) == expected);
56
56
assert ((v[i] <= std::basic_string<CharT, Traits>(v[j])) == expected);
57
57
}
@@ -72,7 +72,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
72
72
assert ((abc.data () <= abc0def) == true );
73
73
assert ((abc0def <= abc.data ()) == false );
74
74
75
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
75
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
76
76
assert ((std::basic_string<CharT, Traits>(abc) <= abc0def) == true );
77
77
assert ((abc0def <= std::basic_string<CharT, Traits>(abc)) == false );
78
78
}
Original file line number Diff line number Diff line change @@ -51,7 +51,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
51
51
assert ((ConvertibleTo<SV>(v[i]) != v[j]) == expected);
52
52
assert ((v[i] != ConvertibleTo<SV>(v[j])) == expected);
53
53
54
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
54
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
55
55
assert ((std::basic_string<CharT, Traits>(v[i]) != v[j]) == expected);
56
56
assert ((v[i] != std::basic_string<CharT, Traits>(v[j])) == expected);
57
57
}
@@ -72,7 +72,7 @@ TEST_CONSTEXPR_CXX14 bool test() {
72
72
assert ((abc.data () != abc0def) == true );
73
73
assert ((abc0def != abc.data ()) == true );
74
74
75
- if (!TEST_IS_CONSTANT_EVALUATED || TEST_STD_VER >= 20 ) {
75
+ if (TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED ) {
76
76
assert ((std::basic_string<CharT, Traits>(abc) != abc0def) == true );
77
77
assert ((abc0def != std::basic_string<CharT, Traits>(abc)) == true );
78
78
}
Original file line number Diff line number Diff line change @@ -66,6 +66,7 @@ int main(int, char**)
66
66
{
67
67
using LG = std::scoped_lock<>;
68
68
LG lg;
69
+ (void )lg;
69
70
}
70
71
{
71
72
using LG = std::scoped_lock<TestMutex>;
Original file line number Diff line number Diff line change 22
22
int main (int , char **)
23
23
{
24
24
std::shared_mutex m;
25
+ (void )m;
25
26
26
- return 0 ;
27
+ return 0 ;
27
28
}
Original file line number Diff line number Diff line change 151
151
# define TEST_IS_CONSTANT_EVALUATED false
152
152
#endif
153
153
154
+ #if TEST_STD_VER >= 23
155
+ # define TEST_STD_AT_LEAST_23_OR_RUNTIME_EVALUATED true
156
+ #else
157
+ # define TEST_STD_AT_LEAST_23_OR_RUNTIME_EVALUATED (!TEST_IS_CONSTANT_EVALUATED)
158
+ #endif
159
+
160
+ #if TEST_STD_VER >= 20
161
+ # define TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED true
162
+ #else
163
+ # define TEST_STD_AT_LEAST_20_OR_RUNTIME_EVALUATED (!TEST_IS_CONSTANT_EVALUATED)
164
+ #endif
165
+
154
166
#if TEST_STD_VER >= 14
155
167
# define TEST_CONSTEXPR_CXX14 constexpr
156
168
#else
You can’t perform that action at this time.
0 commit comments