[flang] Don't needlessly instantiate distinct UNSIGNED cases for FINDLOC (#120471)
[llvm-project.git] / clang / test / CXX / over / over.built / p18.cpp
blob698a943cdab939527586be2bcf4c7c63d02c5b12
1 // RUN: %clang_cc1 -std=c++11 -verify %s -Wno-tautological-compare
3 template <typename T, typename U>
4 void f(int i, float f, bool b, int* pi, T* pt, T t) {
5 (void)(i % 3);
6 (void)(f % 3); // expected-error {{invalid operands}}
7 (void)(b % 3);
8 (void)(pi % 3); // expected-error {{invalid operands}}
9 (void)(pt % 3); // FIXME
10 (void)(t % 3);
11 (void)(3 % i);
12 (void)(3 % f); // expected-error {{invalid operands}}
13 (void)(3 % b);
14 (void)(3 % pi); // expected-error {{invalid operands}}
15 (void)(3 % pt); // FIXME
16 (void)(3 % t);
18 (void)(i & 3);
19 (void)(f & 3); // expected-error {{invalid operands}}
20 (void)(b & 3);
21 (void)(pi & 3); // expected-error {{invalid operands}}
22 (void)(pt & 3); // FIXME
23 (void)(t & 3);
24 (void)(3 & i);
25 (void)(3 & f); // expected-error {{invalid operands}}
26 (void)(3 & b);
27 (void)(3 & pi); // expected-error {{invalid operands}}
28 (void)(3 & pt); // FIXME
29 (void)(3 & t);
31 (void)(i ^ 3);
32 (void)(f ^ 3); // expected-error {{invalid operands}}
33 (void)(b ^ 3);
34 (void)(pi ^ 3); // expected-error {{invalid operands}}
35 (void)(pt ^ 3); // FIXME
36 (void)(t ^ 3);
37 (void)(3 ^ i);
38 (void)(3 ^ f); // expected-error {{invalid operands}}
39 (void)(3 ^ b);
40 (void)(3 ^ pi); // expected-error {{invalid operands}}
41 (void)(3 ^ pt); // FIXME
42 (void)(3 ^ t);
44 (void)(i | 3);
45 (void)(f | 3); // expected-error {{invalid operands}}
46 (void)(b | 3);
47 (void)(pi | 3); // expected-error {{invalid operands}}
48 (void)(pt | 3); // FIXME
49 (void)(t | 3);
50 (void)(3 | i);
51 (void)(3 | f); // expected-error {{invalid operands}}
52 (void)(3 | b);
53 (void)(3 | pi); // expected-error {{invalid operands}}
54 (void)(3 | pt); // FIXME
55 (void)(3 | t);
57 (void)(i << 3);
58 (void)(f << 3); // expected-error {{invalid operands}}
59 (void)(b << 3);
60 (void)(pi << 3); // expected-error {{invalid operands}}
61 (void)(pt << 3); // FIXME
62 (void)(t << 3);
63 (void)(3 << i);
64 (void)(3 << f); // expected-error {{invalid operands}}
65 (void)(3 << b);
66 (void)(3 << pi); // expected-error {{invalid operands}}
67 (void)(3 << pt); // FIXME
68 (void)(3 << t);
70 (void)(i >> 3);
71 (void)(f >> 3); // expected-error {{invalid operands}}
72 (void)(b >> 3);
73 (void)(pi >> 3); // expected-error {{invalid operands}}
74 (void)(pt >> 3); // FIXME
75 (void)(t >> 3);
76 (void)(3 >> i);
77 (void)(3 >> f); // expected-error {{invalid operands}}
78 (void)(3 >> b);
79 (void)(3 >> pi); // expected-error {{invalid operands}}
80 (void)(3 >> pt); // FIXME
81 (void)(3 >> t);