1 #include "check_debug.h"
   2 
   3 int checker(void);
   4 
   5 int x;
   6 int y;
   7 void func(void)
   8 {
   9         while (x--)
  10                 __smatch_value("x");
  11         __smatch_value("x");
  12         for (x = 0; x < y; x++) {
  13                 if (checker())
  14                         break;
  15         }
  16         __smatch_value("x");
  17         while (x--)
  18                 __smatch_value("x");
  19         __smatch_value("x");
  20         x = 10;
  21         while (x--)
  22                 __smatch_value("x");
  23         __smatch_value("x");
  24         x = 10;
  25         while (--x)
  26                 __smatch_value("x");
  27         __smatch_value("x");
  28 }
  29 /*
  30  * check-name: smatch loops #1
  31  * check-command: smatch -I.. sm_loops2.c
  32  *
  33  * check-output-start
  34 sm_loops2.c:10 func() x = s32min-s32max
  35 sm_loops2.c:11 func() x = s32min-s32max
  36 sm_loops2.c:16 func() x = 0-s32max
  37 sm_loops2.c:18 func() x = 0-s32max
  38 sm_loops2.c:19 func() x = (-1)
  39 sm_loops2.c:22 func() x = 0-9
  40 sm_loops2.c:23 func() x = (-1)
  41 sm_loops2.c:26 func() x = 1-9
  42 sm_loops2.c:27 func() x = 0
  43  * check-output-end
  44  */