HI,
I encountered a case with below codes:

int data_0;
int motion_test1(int data, int v)
{
        int i;
        int t, u;
    int x;

        if (data)
                i = data_0 + x;
        else {
                v = 2;
                i = 5;
        }
        t = data_0 + x;
        u = i;
        return v * t * u;
}
The dump file for 023t.ccp1 is like:

motion_test1 (int data, int v)
{
  int x;
  int t;
  int D.4723;
  int D.4722;
  int data_0.0;

<bb 2>:
  if (data_3(D) != 0)
    goto <bb 4>;
  else
    goto <bb 3>;

<bb 3>:
  v_8 = 2;

<bb 4>:
  # v_1 = PHI <v_7(D)(2), 2(3)>
  data_0.0_10 = data_0;
  t_11 = data_0.0_10 + x_5(D);
  D.4723_13 = v_1 * t_11;
  D.4722_14 = D.4723_13 * 5;
  return D.4722_14;

}

Seems the result is computed as "v*(data_0+x)*5", which is wrong.
The question is whether it is a bug or intended behavior due to
unintialized "x"?

Any tips is welcome. Thanks.

-- 
Best Regards.

Reply via email to