/* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-dom2 -fdelete-null-pointer-checks" } */ extern void exit (int); extern void *ggc_alloc (__SIZE_TYPE__); typedef struct dw_attr_struct *dw_attr_ref; typedef struct dw_attr_struct { int dw_attr; } dw_attr_node; void foo (int attr_kind, unsigned long offset) { dw_attr_ref attr = (dw_attr_ref) ggc_alloc (sizeof (dw_attr_node)); attr->dw_attr = attr_kind; if (attr != 0) exit (0); } /* There should be no IF conditionals, unless target disables -fdelete-null-pointer-checks */ /* { dg-final { scan-tree-dump-times "if " 0 "dom2" { target { ! keeps_null_pointer_checks } } } } */ /* { dg-final { scan-tree-dump "if " "dom2" { target { keeps_null_pointer_checks } } } } */