1 #include "check_debug.h"
   2 
   3 void frob(void){}
   4 
   5 int x[10];
   6 int offset;
   7 void func(int *y)
   8 {
   9         if (({int test2 = !!(!y || !*y); frob(); frob(); frob(); test2;}))
  10                 __smatch_value("y");
  11         else
  12                 __smatch_value("y");
  13 
  14         if (({int test2 = !!(offset >= 10u || x[offset] == 1); frob(); frob(); frob(); test2;}))
  15                 __smatch_value("offset");
  16         else
  17                 __smatch_value("offset");
  18 
  19 }
  20 /*
  21  * check-name: smatch implied #10
  22  * check-command: smatch -I.. -m64 sm_implied10.c
  23  *
  24  * check-output-start
  25 sm_implied10.c:10 func() y = 0,4096-ptr_max
  26 sm_implied10.c:12 func() y = 4096-ptr_max
  27 sm_implied10.c:15 func() offset = s32min-s32max
  28 sm_implied10.c:17 func() offset = 0-9
  29  * check-output-end
  30  */