1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-tree-dom2 -fdelete-null-pointer-checks" } */
       3       
       4  extern void exit (int);
       5  extern void *ggc_alloc (__SIZE_TYPE__);
       6  typedef struct dw_attr_struct *dw_attr_ref;
       7  typedef struct dw_attr_struct
       8  {
       9    int dw_attr;
      10  }
      11  dw_attr_node;
      12  void
      13  foo (int attr_kind, unsigned long offset)
      14  {
      15    dw_attr_ref attr = (dw_attr_ref) ggc_alloc (sizeof (dw_attr_node));
      16    attr->dw_attr = attr_kind;
      17    if (attr != ((void *)0))
      18      exit (0);
      19  }
      20  
      21  /* There should be no IF conditionals, unless target disables -fdelete-null-pointer-checks  */
      22  /* { dg-final { scan-tree-dump-times "if " 0 "dom2" { target { ! keeps_null_pointer_checks } } } } */
      23  /* { dg-final { scan-tree-dump "if " "dom2" { target { keeps_null_pointer_checks } } } } */
      24