2 /* { dg-options "-ftree-vrp" } */
4 struct S {struct S *field;};
5 struct S True, False, Z;
6 static inline int f(void) {return 1;}
7 static inline int g(struct S **obj) {
8 return f() && *obj == &Z;
10 struct S **h(struct S **x) {
12 return g(x) ? &True.field : &False.field;
16 extern void abort (void);
19 if (h(&False.field) != &False.field)