/* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-alias1-vops" } */
/* LLVM LOCAL test not applicable */
/* { dg-require-fdump "" } */
extern void abort (void);
int a; 
 
extern void __attribute__ ((malloc)) *foo ();
 
void bar (void) 
{ 
  a = 1; 
  foo (); 
  if (a) 
    abort (); 
} 

/* We used to treat malloc functions like pure and const functions, but
   malloc functions may clobber global memory.  Only the function result
   does not alias any other pointer.
   Hence, we must have a VDEF for a before and after the call to foo().  */
/* { dg-final { scan-tree-dump-times "V_MAY_DEF" 2 "alias1"} } */
/* { dg-final { cleanup-tree-dump "alias1" } } */
