1 /* When comparisons of bit-fields to unsigned constants got shortened,
2 the shortened signed constant was wrongly marked as overflowing,
3 leading to a later integer_zerop failure and misoptimization.
5 Related to bug tree-optimization/16437 but shows the problem on
7 /* Origin: Joseph Myers <jsm@polyomino.org.uk> */
9 extern void abort (void);
11 struct s
{ int a
:12, b
:20; };
13 struct s x
= { -123, -456 };
18 if (x
.a
!= -123U || x
.b
!= -456U)