1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-vrp" } */
10 foo (struct A
*p
, struct A
*q
)
18 /* This should be folded to 'if (1)' because q is [p, p]
23 /* This should be folded to 'if (1)' because q should be
24 ~[0, 0] and thus &q->a should be ~[0, 0]. */
33 /* { dg-final { scan-tree-dump-times "Folding predicate q_.*to 1" 1 "vrp" } } */
34 /* { dg-final { scan-tree-dump-times "Folding predicate r_.*to 1" 1 "vrp" } } */
35 /* { dg-final { cleanup-tree-dump "vrp" } } */