2 /* { dg-do compile } */
3 /* { dg-options "-Wbool-compare" } */
11 extern bool foo (void);
20 r
+= b
>= 0; /* { dg-warning "with boolean expression is always true" } */
22 r
+= b
< 0; /* { dg-warning "with boolean expression is always false" } */
26 r
+= b
> 1; /* { dg-warning "with boolean expression is always false" } */
28 r
+= b
<= 1; /* { dg-warning "with boolean expression is always true" } */
30 r
+= foo () >= 0; /* { dg-warning "with boolean expression is always true" } */
32 r
+= foo () < 0; /* { dg-warning "with boolean expression is always false" } */
36 r
+= foo () > 1; /* { dg-warning "with boolean expression is always false" } */
38 r
+= foo () <= 1; /* { dg-warning "with boolean expression is always true" } */
40 r
+= b
>= A
; /* { dg-warning "with boolean expression is always true" } */
42 r
+= b
< A
; /* { dg-warning "with boolean expression is always false" } */
46 r
+= b
> B
; /* { dg-warning "with boolean expression is always false" } */
48 r
+= b
<= B
; /* { dg-warning "with boolean expression is always true" } */
50 /* Swap LHS and RHS. */
52 r
+= 0 > b
; /* { dg-warning "with boolean expression is always false" } */
54 r
+= 0 <= b
; /* { dg-warning "with boolean expression is always true" } */
56 r
+= 1 >= b
; /* { dg-warning "with boolean expression is always true" } */
58 r
+= 1 < b
; /* { dg-warning "with boolean expression is always false" } */
62 r
+= 0 > foo (); /* { dg-warning "with boolean expression is always false" } */
64 r
+= 0 <= foo (); /* { dg-warning "with boolean expression is always true" } */
66 r
+= 1 >= foo (); /* { dg-warning "with boolean expression is always true" } */
68 r
+= 1 < foo (); /* { dg-warning "with boolean expression is always false" } */
72 r
+= A
> b
; /* { dg-warning "with boolean expression is always false" } */
74 r
+= A
<= b
; /* { dg-warning "with boolean expression is always true" } */
76 r
+= B
>= b
; /* { dg-warning "with boolean expression is always true" } */
78 r
+= B
< b
; /* { dg-warning "with boolean expression is always false" } */
89 r
+= (i
== j
) >= 0; /* { dg-warning "with boolean expression is always true" } */
91 r
+= (i
== j
) < 0; /* { dg-warning "with boolean expression is always false" } */
95 r
+= (i
== j
) > 1; /* { dg-warning "with boolean expression is always false" } */
97 r
+= (i
== j
) <= 1; /* { dg-warning "with boolean expression is always true" } */