// Expect 10 errors (one per function)

float x;

void shr_eq() { x >>= 1; }
void shl_eq() { x <<= 1; }
void and_eq() { x &=  1; }
void or_eq()  { x |=  1; }
void xor_eq() { x ^=  1; }

void shr() { x = x >> 1; }
void shl() { x = x << 1; }
void and() { x = x & 1; }
void or()  { x = x | 1; }
void xor() { x = x ^ 1; }

/*%%*
type mismatch: '>>=' cannot operate on 'float', 'int'
type mismatch: '<<=' cannot operate on 'float', 'int'
type mismatch: '&=' cannot operate on 'float', 'int'
type mismatch: '|=' cannot operate on 'float', 'int'
type mismatch: '^=' cannot operate on 'float', 'int'
type mismatch: '>>' cannot operate on 'float', 'int'
type mismatch: '<<' cannot operate on 'float', 'int'
type mismatch: '&' cannot operate on 'float', 'int'
type mismatch: '|' cannot operate on 'float', 'int'
type mismatch: '^' cannot operate on 'float', 'int'
*%%*/
