// Expect 10 errors (one per function)

float2 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 'float2', 'int'
type mismatch: '<<=' cannot operate on 'float2', 'int'
type mismatch: '&=' cannot operate on 'float2', 'int'
type mismatch: '|=' cannot operate on 'float2', 'int'
type mismatch: '^=' cannot operate on 'float2', 'int'
type mismatch: '>>' cannot operate on 'float2', 'int'
type mismatch: '<<' cannot operate on 'float2', 'int'
type mismatch: '&' cannot operate on 'float2', 'int'
type mismatch: '|' cannot operate on 'float2', 'int'
type mismatch: '^' cannot operate on 'float2', 'int'
*%%*/
