// RUN: %clang_cc1 -std=c++11 -verify %s -Wno-tautological-compare
template <typename T, typename U>
void f(int i, float f, bool b, int* pi, T* pt, T t) {
i %= 3;
f %= 3; // expected-error {{invalid operands}}
b %= 3;
pi %= 3; // expected-error {{invalid operands}}
pt %= 3; // FIXME
t %= 3;
i &= 3;
f &= 3; // expected-error {{invalid operands}}
b &= 3;
pi &= 3; // expected-error {{invalid operands}}
pt &= 3; // FIXME
t &= 3;
i ^= 3;
f ^= 3; // expected-error {{invalid operands}}
b ^= 3;
pi ^= 3; // expected-error {{invalid operands}}
pt ^= 3; // FIXME
t ^= 3;
i |= 3;
f |= 3; // expected-error {{invalid operands}}
b |= 3;
pi |= 3; // expected-error {{invalid operands}}
pt |= 3; // FIXME
t |= 3;
i <<= 3;
f <<= 3; // expected-error {{invalid operands}}
b <<= 3;
pi <<= 3; // expected-error {{invalid operands}}
pt <<= 3; // FIXME
t <<= 3;
i >>= 3;
f >>= 3; // expected-error {{invalid operands}}
b >>= 3;
pi >>= 3; // expected-error {{invalid operands}}
pt >>= 3; // FIXME
t >>= 3;
}