math: improve how get_absolute_min/max() work
[smatch.git] / validation / sm_range2.c
blob1b5955e1c279e5750f8e35440b5dfcc998011573
1 #include "check_debug.h"
2 int some_func();
3 int a, b, c, d, e;
4 int frob(void) {
5 if (a)
6 __smatch_value("a");
7 else
8 __smatch_value("a");
9 __smatch_value("a");
10 if (a) {
11 b = 0;
12 __smatch_value("b");
14 __smatch_value("b");
15 c = 0;
16 c = some_func();
17 __smatch_value("c");
18 if (d < -3 || d > 99)
19 return;
20 __smatch_value("d");
21 if (d) {
22 if (!e)
23 return;
25 __smatch_value("d");
26 __smatch_value("e");
29 * check-name: Smatch range test #2
30 * check-command: smatch -I.. sm_range2.c
32 * check-output-start
33 sm_range2.c:6 frob() a = min-(-1),1-max
34 sm_range2.c:8 frob() a = 0
35 sm_range2.c:9 frob() a = unknown
36 sm_range2.c:12 frob() b = 0
37 sm_range2.c:14 frob() b = unknown
38 sm_range2.c:17 frob() c = unknown
39 sm_range2.c:20 frob() d = (-3)-99
40 sm_range2.c:25 frob() d = (-3)-99
41 sm_range2.c:26 frob() e = unknown
42 * check-output-end