/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-tailc-details" } */
/* Test provided by Richard Earnshaw in PR 14312.  */

void bar (int i);
void baz (int *);

void
foo (int *x)
{
  if (*x < 0)
    {
      baz (x);
      return;
    }
  bar (*x);
}

/* The test has no local call-clobbered variables.  Only the memory
   tag for 'x' is call-clobbered.  And since tags are not real
   variables, they ought to be ignored.  There should be two tail
   calls here.  */
/* { dg-final { scan-tree-dump-times "Found tail call" 2 "tailc"} } */
