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
)