/* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-optimized-blocks" } */

int c, d;

int
bar (int a)
{
  void *p;
  int b;

  if (a!=0)
    {
      b = 3;
      p = &&L0;
    }
  else
    {
      b = 5;
      p = &&L1;
    }

  goto *p;

 L0:
  c = b;
  return 1;

 L1:
  d = b;
  return 0;
}

/* The both paths to the block containing the goto *p should
   have been threaded, thus eliminating the need for the goto *p.  */

/* { dg-final { scan-tree-dump-times "goto p" 0 "optimized" } } */

/* There should not be any abnormal edges as DOM removed the
   computed goto.  */

/* { dg-final { scan-tree-dump-times "ab" 0 "optimized" } } */
