47 lines · cpp
1// RUN: %clang_cc1 -std=c++11 -verify %s -Wno-tautological-compare2 3template <typename T, typename U>4void f(int i, float f, bool b, int* pi, T* pt, T t) {5 i %= 3;6 f %= 3; // expected-error {{invalid operands}}7 b %= 3;8 pi %= 3; // expected-error {{invalid operands}}9 pt %= 3; // FIXME10 t %= 3;11 12 i &= 3;13 f &= 3; // expected-error {{invalid operands}}14 b &= 3;15 pi &= 3; // expected-error {{invalid operands}}16 pt &= 3; // FIXME17 t &= 3;18 19 i ^= 3;20 f ^= 3; // expected-error {{invalid operands}}21 b ^= 3;22 pi ^= 3; // expected-error {{invalid operands}}23 pt ^= 3; // FIXME24 t ^= 3;25 26 i |= 3;27 f |= 3; // expected-error {{invalid operands}}28 b |= 3;29 pi |= 3; // expected-error {{invalid operands}}30 pt |= 3; // FIXME31 t |= 3;32 33 i <<= 3;34 f <<= 3; // expected-error {{invalid operands}}35 b <<= 3;36 pi <<= 3; // expected-error {{invalid operands}}37 pt <<= 3; // FIXME38 t <<= 3;39 40 i >>= 3;41 f >>= 3; // expected-error {{invalid operands}}42 b >>= 3;43 pi >>= 3; // expected-error {{invalid operands}}44 pt >>= 3; // FIXME45 t >>= 3;46}47