1 #include "check_debug.h"
   2 
   3 void frob(void){}
   4 
   5 void 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  */