blob: 3254355013a60ad54f0bc54ba9c1e8e53ba333b1 (
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
|
// RUN: %clang_analyze_cc1 -w -analyzer-checker=core -verify %s
// expected-no-diagnostics
struct toggle {
bool value;
};
toggle global_toggle;
toggle get_global_toggle() { return global_toggle; }
int oob_access();
bool compare(toggle one, bool other) {
if (one.value != other)
return true;
if (one.value)
oob_access();
return true;
}
bool coin();
void bar() {
bool left = coin();
bool right = coin();
for (;;)
compare(get_global_toggle(), left) && compare(get_global_toggle(), right);
}
|