1 #include "check_debug.h" 2 3 static int test(int x) 4 { 5 if (x == 12) 6 return 10; 7 return 0; 8 } 9 10 int a, b; 11 static void func(void) 12 { 13 if (a == 12) 14 b = 1; 15 else 16 b = 4; 17 if (test(a) == 10) { 18 __smatch_implied(a); 19 __smatch_implied(b); 20 } else { 21 __smatch_implied(a); 22 __smatch_implied(b); 23 } 24 25 if (a == 12) 26 b = 10; 27 else 28 b = 40; 29 30 if (test(a)) 31 __smatch_implied(b); 32 else 33 __smatch_implied(b); 34 } 35 /* 36 * check-name: smatch implied #14 37 * check-command: smatch -I.. sm_implied14.c 38 * 39 * check-output-start 40 sm_implied14.c:18 func() implied: a = '12' 41 sm_implied14.c:19 func() implied: b = '1' 42 sm_implied14.c:21 func() implied: a = 's32min-11,13-s32max' 43 sm_implied14.c:22 func() implied: b = '4' 44 sm_implied14.c:31 func() implied: b = '10' 45 sm_implied14.c:33 func() implied: b = '40' 46 * check-output-end 47 */ 48