1 #include "check_debug.h" 2 frob(void)3void frob(void){} 4 func(int y)5void func(int y) 6 { 7 int test2; 8 9 if (({int test2 = !!(y < 0 || y >= 10); frob(); frob(); frob(); test2;})) 10 __smatch_value("y"); 11 else 12 __smatch_value("y"); 13 14 test2 = (y < 3 || y >= 5); 15 if (test2) 16 __smatch_value("y"); 17 else 18 __smatch_value("y"); 19 20 if (({int test3 = y < -98; frob(); frob(); frob(); test3;})) 21 __smatch_value("y"); 22 } 23 /* 24 * check-name: smatch implied #9 25 * check-command: smatch -I.. sm_implied9.c 26 * 27 * check-output-start 28 sm_implied9.c:10 func() y = s32min-(-1),10-s32max 29 sm_implied9.c:12 func() y = 0-9 30 sm_implied9.c:16 func() y = s32min-2,5-s32max 31 sm_implied9.c:18 func() y = 3-4 32 sm_implied9.c:21 func() y = s32min-(-99) 33 * check-output-end 34 */ 35