xref: /llvm-project/clang/test/CXX/over/over.built/p23.cpp (revision d3dc7d077f1d9c9478813a34ed38abbcb4fc1ef5)
1 // RUN: %clang_cc1 -std=c++11 -verify %s -Wno-tautological-compare
2 
3 template <typename T, typename U>
f(int i,float f,bool b,int * pi,T * pt,T t)4 void 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; // FIXME
10   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; // FIXME
17   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; // FIXME
24   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; // FIXME
31   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; // FIXME
38   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; // FIXME
45   t >>= 3;
46 }
47