blob: 3bccd1545c3a97d3779e22468ded20c5d2adfa30 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
// { dg-do compile { target c++20 } }
#include <span>
void
test_observers(std::span<int> s)
{
s.size(); // { dg-warning "ignoring return value" }
s.size_bytes(); // { dg-warning "ignoring return value" }
s.empty(); // { dg-warning "ignoring return value" }
}
void
test_element_access(std::span<float> s)
{
s.front(); // { dg-warning "ignoring return value" }
s.back(); // { dg-warning "ignoring return value" }
s[1]; // { dg-warning "ignoring return value" }
s.data(); // { dg-warning "ignoring return value" }
}
struct S { };
void
test_iterators(std::span<S> s)
{
s.begin(); // { dg-warning "ignoring return value" }
s.end(); // { dg-warning "ignoring return value" }
s.rbegin(); // { dg-warning "ignoring return value" }
s.rend(); // { dg-warning "ignoring return value" }
#if __cplusplus > 202002L
s.cbegin(); // { dg-warning "ignoring return value" "" { target c++23 } }
s.cend(); // { dg-warning "ignoring return value" "" { target c++23 } }
s.crbegin(); // { dg-warning "ignoring return value" "" { target c++23 } }
s.crend(); // { dg-warning "ignoring return value" "" { target c++23 } }
#endif
}
void
test_subviews(std::span<long, 20> s)
{
s.first<5>(); // { dg-warning "ignoring return value" }
s.first(6); // { dg-warning "ignoring return value" }
s.last<7>(); // { dg-warning "ignoring return value" }
s.last(8); // { dg-warning "ignoring return value" }
s.subspan<1>(); // { dg-warning "ignoring return value" }
s.subspan<2, 3>(); // { dg-warning "ignoring return value" }
s.subspan(4); // { dg-warning "ignoring return value" }
s.subspan(5, 6); // { dg-warning "ignoring return value" }
}
void
test_non_members(std::span<S, 20> s)
{
std::as_bytes(s); // { dg-warning "ignoring return value" }
std::as_writable_bytes(s); // { dg-warning "ignoring return value" }
}
|