/* Verify that points-to information is handled properly for PTR + OFFSET
   pointer arithmetics.  */
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-alias-vops" } */

char buf[4], *q;
int foo (int i)
{
  char c, *p;
  q = &c;
  p = buf;
  if (i)
    p = p + 3;
  else
    p = p + 2;
  *p = 6;
  c = 8;
  return *p;
}

/* { dg-final { scan-tree-dump-not "VUSE <c" "alias" } } */
