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"); 13 } 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; 24 } 25 __smatch_value("d"); 26 __smatch_value("e"); 27 } 28 /* 29 * check-name: Smatch range test #2 30 * check-command: smatch -I.. sm_range2.c 31 * 32 * check-output-start 33 sm_range2.c:6 frob() a = s32min-(-1),1-s32max 34 sm_range2.c:8 frob() a = 0 35 sm_range2.c:9 frob() a = s32min-s32max 36 sm_range2.c:12 frob() b = 0 37 sm_range2.c:14 frob() b = s32min-s32max 38 sm_range2.c:17 frob() c = s32min-s32max 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 = s32min-s32max 42 * check-output-end 43 */ 44