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  */