blob: 07eb6ace983a2482bf948057d891476be9b0ebf5 [file] [log] [blame]
/* PR c/60036 */
/* { dg-do compile } */
/* { dg-options "-Wconversion" } */
extern int fn (void);
void
foo (int i)
{
unsigned int f = 9;
/* Don't warn on these. */
f += fn () || i;
f += fn () && i;
f += ! fn ();
f -= fn () == i;
f |= fn () != i;
f &= fn () < i;
f ^= fn () > i;
f &= fn () <= i;
f ^= fn () >= i;
/* But warn on the following. */
f += fn (); /* { dg-warning "conversion" } */
f += fn () | i; /* { dg-warning "conversion" } */
f += fn () & i; /* { dg-warning "conversion" } */
f += fn () ^ i; /* { dg-warning "conversion" } */
}