[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/slicing/slice_pragma_stmt.c (with preprocessing)
/* Generated by Frama-C */
int x;
int y;
void nop1(int c1, int c2)
{
  /*@ slice pragma stmt; */ ;
  x = 1;
  return;
}

void nop2(int c1, int c2)
{
  /*@ slice pragma stmt; */ ;
  x = 1;
  return;
}

void nop3(int c1, int c2)
{
  /*@ slice pragma stmt; */ ;
  x = 1;
  return;
}

void nop4(int c1, int c2)
{
  /*@ slice pragma stmt; */
  if (c1) ;
  x = 1;
  return;
}

void nop5(int c1, int c2)
{
  if (c2) goto L;
  L: /*@ slice pragma stmt; */ ;
  x = 1;
  return;
}

void nop6(int c1, int c2)
{
  L: /*@ slice pragma stmt; */ ;
  x = 1;
  return;
}

void nop7(int c1, int c2)
{
  L: /*@ slice pragma stmt; */ ;
  x = 1;
  return;
}

void nop8(int c1, int c2)
{
  /*@ slice pragma stmt; */
  L: ;
  x = 1;
  return;
}

void double_effect1(int c1, int c2)
{
  int tmp;
  /*@ slice pragma stmt; */
  { /* sequence */
    tmp = y;
    y ++;
    x += tmp;
  }
  return;
}

void double_effect2(int c1, int c2)
{
  /*@ slice pragma stmt; */
  {
    int tmp;
    { /* sequence */
      tmp = y;
      y ++;
      x += tmp;
    }
  }
  return;
}

void double_effect3(int c1, int c2)
{
  int tmp;
  if (c2) goto L;
  L: /*@ slice pragma stmt; */
     { /* sequence */
       tmp = y;
       y ++;
       x += tmp;
     }
  return;
}

void double_effect4(int c1, int c2)
{
  if (c2) goto L;
  L:
    /*@ slice pragma stmt; */
    {
      int tmp;
      { /* sequence */
        tmp = y;
        y ++;
        x += tmp;
      }
    }
  return;
}

void double_effect5(int c1, int c2)
{
  if (c2) {
    /*@ slice pragma stmt; */
    {
      int tmp;
      { /* sequence */
        tmp = y;
        y ++;
        x += tmp;
      }
    }
  }
  return;
}

void test1(int c1, int c2)
{
  if (c1 < c2) c1 = c2;
  /*@ slice pragma stmt; */
  x = c1;
  return;
}

void test2(int c1, int c2)
{
  if (c1 < c2) c1 = c2;
  /*@ slice pragma stmt; */
  x = c1;
  y = c2;
  return;
}

void test3(int c1, int c2)
{
  if (c1 < c2) c1 = c2;
  /*@ slice pragma stmt; */
  x = c1;
  y = c2;
  return;
}

void test4(int c1, int c2)
{
  if (c1 < c2) c1 = c2;
  /*@ slice pragma stmt; */
  {
    x = c1;
    c2 ++;
  }
  y = c2;
  return;
}

void test5(int c1, int c2)
{
  if (c1 < c2) goto L;
  c1 = c2;
  L: /*@ slice pragma stmt; */
     x = c1;
  y = c2;
  return;
}

void test6(int c1, int c2)
{
  int tmp;
  if (c1 < c2) goto L;
  c1 = c2;
  L: /*@ slice pragma stmt; */
     { /* sequence */
       tmp = c1;
       c1 ++;
       x = tmp;
     }
  y = c2;
  return;
}

void test7(int c1, int c2)
{
  if (c1 < c2) goto L;
  c1 = c2;
  L:
    /*@ slice pragma stmt; */
    {
      int tmp;
      { /* sequence */
        tmp = c1;
        c1 ++;
        x = tmp;
      }
      c2 ++;
    }
  y = c2;
  return;
}

void test8(int c1, int c2)
{
  if (c1 < c2) goto L;
  c1 = c2;
  /*@ slice pragma stmt; */
  {
    int tmp;
    L: { /* sequence */
         tmp = c1;
         c1 ++;
         x = tmp;
       }
    c2 ++;
  }
  y = c2;
  return;
}

void test9(int c1, int c2)
{
  if (c1 < c2) goto L;
  c1 = c2;
  /*@ slice pragma stmt; */
  {
    x = c1;
    L: c2 ++;
  }
  y = c2;
  return;
}


