2 // { dg-options "-Wparentheses" }
4 // Warnings for assignments used as truth-values when using classes.
5 // Like Wparentheses-1.C, but with a class.
16 // Use default assignment constructor.
18 // Provide conversion to bool so that an instance of this class will
19 // work as a condition.
33 if (a = b) // { dg-warning "assignment" "correct warning" }
37 if (a = a) // { dg-warning "assignment" "correct warning" }
41 if (b = c) // { dg-warning "assignment" "correct warning" }
49 if (b = b) // { dg-warning "assignment" "correct warning" }
57 while (c = b) // { dg-warning "assignment" "correct warning" }
61 while (c = c) // { dg-warning "assignment" "correct warning" }
65 do foo (16); while (a = b); // { dg-warning "assignment" "correct warning" }
66 do foo (17); while ((a = b));
67 do foo (18); while (a = a); // { dg-warning "assignment" "correct warning" }
68 do foo (19); while ((a = a));
69 for (;c = b;) // { dg-warning "assignment" "correct warning" }
73 for (;c = c;) // { dg-warning "assignment" "correct warning" }
77 d = a = b; // { dg-warning "assignment" "correct warning" }
81 d = a = a; // { dg-warning "assignment" "correct warning" }
92 return a = b; // { dg-warning "assignment" "correct warning" }
104 return a = a; // { dg-warning "assignment" "correct warning" }