1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-esra -fno-short-enums -fno-tree-fre" } */
3 /* { dg-skip-if "we want a BIT_FIELD_REF from fold_truth_andor" { ! lp64 } } */
4 /* { dg-skip-if "temporary variable names are not x and y" { mmix-knuth-mmixware } } */
6 enum constraint_expr_type
8 SCALAR
, DEREF
, ADDRESSOF
10 typedef struct constraint_expr
12 enum constraint_expr_type type
;
16 typedef struct constraint
18 struct constraint_expr lhs
;
19 struct constraint_expr rhs
;
22 constraint_expr_equal (struct constraint_expr x
, struct constraint_expr y
)
24 return x
.type
== y
.type
&& x
.var
== y
.var
&& x
.offset
== y
.offset
;
28 constraint_equal (struct constraint a
, struct constraint b
)
30 return constraint_expr_equal (a
.lhs
, b
.lhs
)
31 && constraint_expr_equal (a
.rhs
, b
.rhs
);
34 /* { dg-final { scan-tree-dump-not "x = " "esra" } } */
35 /* { dg-final { scan-tree-dump-not "y = " "esra" } } */