1 #include "check_debug.h"
   2 
   3 int aaa;
   4 int x, y, z;
   5 
   6 void func (void)
   7 {
   8         aaa = 0;
   9         if (y)
  10                 aaa = 1;
  11         if (x)
  12                 aaa = 2;
  13 
  14         if (x) {
  15                 __smatch_value("aaa");
  16                 if (y)
  17                         __smatch_value("aaa");
  18                 else
  19                         __smatch_value("aaa");
  20         }
  21         if (!x) {               
  22                 __smatch_value("aaa");
  23                 if (y)          
  24                         __smatch_value("aaa");
  25                 else
  26                         __smatch_value("aaa");
  27         }
  28         if (y) {
  29                 __smatch_value("aaa");
  30                 if (x)
  31                         __smatch_value("aaa");
  32                 else
  33                         __smatch_value("aaa");
  34         }
  35         if (!y) {
  36                 __smatch_value("aaa");
  37                 if (x)          
  38                         __smatch_value("aaa");
  39                 else
  40                         __smatch_value("aaa");
  41         }
  42         if (x && y)
  43                 __smatch_value("aaa");
  44         if (x || y)
  45                 __smatch_value("aaa");
  46         else
  47                 __smatch_value("aaa");
  48         if (!x && !y)
  49                 __smatch_value("aaa");
  50 }
  51 /*
  52  * check-name: Compound Conditions #2
  53  * check-command: smatch -I.. sm_compound_conditions2.c
  54  *
  55  * check-output-start
  56 sm_compound_conditions2.c:15 func() aaa = 2
  57 sm_compound_conditions2.c:17 func() aaa = 2
  58 sm_compound_conditions2.c:19 func() aaa = 2
  59 sm_compound_conditions2.c:22 func() aaa = 0-1
  60 sm_compound_conditions2.c:24 func() aaa = 1
  61 sm_compound_conditions2.c:26 func() aaa = 0
  62 sm_compound_conditions2.c:29 func() aaa = 1-2
  63 sm_compound_conditions2.c:31 func() aaa = 2
  64 sm_compound_conditions2.c:33 func() aaa = 1
  65 sm_compound_conditions2.c:36 func() aaa = 0,2
  66 sm_compound_conditions2.c:38 func() aaa = 2
  67 sm_compound_conditions2.c:40 func() aaa = 0
  68 sm_compound_conditions2.c:43 func() aaa = 2
  69 sm_compound_conditions2.c:45 func() aaa = 1-2
  70 sm_compound_conditions2.c:47 func() aaa = 0
  71 sm_compound_conditions2.c:49 func() aaa = 0
  72  * check-output-end
  73  */