xref: /llvm-project/clang/test/Analysis/produce-symbolcast_x86.cpp (revision 2df120784af40c9cfebaf2a505a5ebe74c51b44a)
1 // RUN: %clang_analyze_cc1 -triple i386-pc-linux-gnu -analyzer-checker=debug.ExprInspection -analyzer-config support-symbolic-integer-casts=true -verify %s
2 
3 using uchar = unsigned char;
4 using schar = signed char;
5 using ushort = unsigned short;
6 using uint = unsigned int;
7 using ulong = unsigned long;
8 using llong = long long;
9 using ullong = unsigned long long;
10 
11 template <typename T>
12 void clang_analyzer_dump(T);
13 
test_double(int n)14 void test_double(int n) {
15   double D = n / 30;
16   clang_analyzer_dump(D); // expected-warning{{(double) ((reg_$0<int n>) / 30)}}
17   char C = D;
18   clang_analyzer_dump(C); // expected-warning{{(char) ((double) ((reg_$0<int n>) / 30))}}
19   int I = C; // assertion should not fail here!
20   clang_analyzer_dump(I); // expected-warning{{(int) ((char) ((double) ((reg_$0<int n>) / 30)))}}
21 }
22 
test_schar(schar x)23 void test_schar(schar x) {
24   clang_analyzer_dump(x); // expected-warning{{reg_$0<schar x>}}
25 
26   clang_analyzer_dump((schar)x);  // expected-warning{{reg_$0<schar x>}}
27   clang_analyzer_dump((char)x);   // expected-warning{{(char) (reg_$0<schar x>)}}
28   clang_analyzer_dump((short)x);  // expected-warning{{(short) (reg_$0<schar x>)}}
29   clang_analyzer_dump((int)x);    // expected-warning{{(int) (reg_$0<schar x>)}}
30   clang_analyzer_dump((long)x);   // expected-warning{{(long) (reg_$0<schar x>)}}
31   clang_analyzer_dump((llong)x);  // expected-warning{{(long long) (reg_$0<schar x>)}}
32   clang_analyzer_dump((uchar)x);  // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
33   clang_analyzer_dump((ushort)x); // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
34   clang_analyzer_dump((uint)x);   // expected-warning{{(unsigned int) (reg_$0<schar x>)}}
35   clang_analyzer_dump((ulong)x);  // expected-warning{{(unsigned long) (reg_$0<schar x>)}}
36   clang_analyzer_dump((ullong)x); // expected-warning{{(unsigned long long) (reg_$0<schar x>)}}
37 
38   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{reg_$0<schar x>}}
39   clang_analyzer_dump((schar)(char)x);   // expected-warning{{reg_$0<schar x>}}
40   clang_analyzer_dump((schar)(short)x);  // expected-warning{{reg_$0<schar x>}}
41   clang_analyzer_dump((schar)(int)x);    // expected-warning{{reg_$0<schar x>}}
42   clang_analyzer_dump((schar)(long)x);   // expected-warning{{reg_$0<schar x>}}
43   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{reg_$0<schar x>}}
44   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{reg_$0<schar x>}}
45   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{reg_$0<schar x>}}
46   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{reg_$0<schar x>}}
47   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{reg_$0<schar x>}}
48   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{reg_$0<schar x>}}
49 
50   clang_analyzer_dump((char)(schar)x);  // expected-warning{{(char) (reg_$0<schar x>)}}
51   clang_analyzer_dump((char)(char)x);   // expected-warning{{(char) (reg_$0<schar x>)}}
52   clang_analyzer_dump((char)(short)x);  // expected-warning{{(char) (reg_$0<schar x>)}}
53   clang_analyzer_dump((char)(int)x);    // expected-warning{{(char) (reg_$0<schar x>)}}
54   clang_analyzer_dump((char)(long)x);   // expected-warning{{(char) (reg_$0<schar x>)}}
55   clang_analyzer_dump((char)(llong)x);  // expected-warning{{(char) (reg_$0<schar x>)}}
56   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{(char) (reg_$0<schar x>)}}
57   clang_analyzer_dump((char)(ushort)x); // expected-warning{{(char) (reg_$0<schar x>)}}
58   clang_analyzer_dump((char)(uint)x);   // expected-warning{{(char) (reg_$0<schar x>)}}
59   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{(char) (reg_$0<schar x>)}}
60   clang_analyzer_dump((char)(ullong)x); // expected-warning{{(char) (reg_$0<schar x>)}}
61 
62   clang_analyzer_dump((short)(schar)x);  // expected-warning{{(short) (reg_$0<schar x>)}}
63   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) (reg_$0<schar x>)}}
64   clang_analyzer_dump((short)(short)x);  // expected-warning{{(short) (reg_$0<schar x>)}}
65   clang_analyzer_dump((short)(int)x);    // expected-warning{{(short) (reg_$0<schar x>)}}
66   clang_analyzer_dump((short)(long)x);   // expected-warning{{(short) (reg_$0<schar x>)}}
67   clang_analyzer_dump((short)(llong)x);  // expected-warning{{(short) (reg_$0<schar x>)}}
68   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) ((unsigned char) (reg_$0<schar x>))}}
69   clang_analyzer_dump((short)(ushort)x); // expected-warning{{(short) (reg_$0<schar x>)}}
70   clang_analyzer_dump((short)(uint)x);   // expected-warning{{(short) (reg_$0<schar x>)}}
71   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{(short) (reg_$0<schar x>)}}
72   clang_analyzer_dump((short)(ullong)x); // expected-warning{{(short) (reg_$0<schar x>)}}
73 
74   clang_analyzer_dump((int)(schar)x);  // expected-warning{{(int) (reg_$0<schar x>)}}
75   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) (reg_$0<schar x>)}}
76   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) (reg_$0<schar x>)}}
77   clang_analyzer_dump((int)(int)x);    // expected-warning{{(int) (reg_$0<schar x>)}}
78   clang_analyzer_dump((int)(long)x);   // expected-warning{{(int) (reg_$0<schar x>)}}
79   clang_analyzer_dump((int)(llong)x);  // expected-warning{{(int) (reg_$0<schar x>)}}
80   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) ((unsigned char) (reg_$0<schar x>))}}
81   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) ((unsigned short) (reg_$0<schar x>))}}
82   clang_analyzer_dump((int)(uint)x);   // expected-warning{{(int) (reg_$0<schar x>)}}
83   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{(int) (reg_$0<schar x>)}}
84   clang_analyzer_dump((int)(ullong)x); // expected-warning{{(int) (reg_$0<schar x>)}}
85 
86   clang_analyzer_dump((long)(schar)x);  // expected-warning{{(long) (reg_$0<schar x>)}}
87   clang_analyzer_dump((long)(char)x);   // expected-warning{{(long) (reg_$0<schar x>)}}
88   clang_analyzer_dump((long)(short)x);  // expected-warning{{(long) (reg_$0<schar x>)}}
89   clang_analyzer_dump((long)(int)x);    // expected-warning{{(long) (reg_$0<schar x>)}}
90   clang_analyzer_dump((long)(long)x);   // expected-warning{{(long) (reg_$0<schar x>)}}
91   clang_analyzer_dump((long)(llong)x);  // expected-warning{{(long) (reg_$0<schar x>)}}
92   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(long) ((unsigned char) (reg_$0<schar x>))}}
93   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(long) ((unsigned short) (reg_$0<schar x>))}}
94   clang_analyzer_dump((long)(uint)x);   // expected-warning{{(long) (reg_$0<schar x>)}}
95   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{(long) (reg_$0<schar x>)}}
96   clang_analyzer_dump((long)(ullong)x); // expected-warning{{(long) (reg_$0<schar x>)}}
97 
98   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{(long long) (reg_$0<schar x>)}}
99   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(long long) (reg_$0<schar x>)}}
100   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(long long) (reg_$0<schar x>)}}
101   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(long long) (reg_$0<schar x>)}}
102   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long long) (reg_$0<schar x>)}}
103   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{(long long) (reg_$0<schar x>)}}
104   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(long long) ((unsigned char) (reg_$0<schar x>))}}
105   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(long long) ((unsigned short) (reg_$0<schar x>))}}
106   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(long long) ((unsigned int) (reg_$0<schar x>))}}
107   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(long long) ((unsigned long) (reg_$0<schar x>))}}
108   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{(long long) (reg_$0<schar x>)}}
109 
110   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
111   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
112   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
113   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
114   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
115   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
116   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
117   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
118   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
119   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
120   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{(unsigned char) (reg_$0<schar x>)}}
121 
122   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
123   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
124   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
125   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
126   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
127   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
128   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) ((unsigned char) (reg_$0<schar x>))}}
129   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
130   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
131   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
132   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{(unsigned short) (reg_$0<schar x>)}}
133 
134   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(unsigned int) (reg_$0<schar x>)}}
135   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(unsigned int) (reg_$0<schar x>)}}
136   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(unsigned int) (reg_$0<schar x>)}}
137   clang_analyzer_dump((uint)(int)x);    // expected-warning{{(unsigned int) (reg_$0<schar x>)}}
138   clang_analyzer_dump((uint)(long)x);   // expected-warning{{(unsigned int) (reg_$0<schar x>)}}
139   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{(unsigned int) (reg_$0<schar x>)}}
140   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned int) ((unsigned char) (reg_$0<schar x>))}}
141   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned int) ((unsigned short) (reg_$0<schar x>))}}
142   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<schar x>)}}
143   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{(unsigned int) (reg_$0<schar x>)}}
144   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{(unsigned int) (reg_$0<schar x>)}}
145 
146   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(unsigned long) (reg_$0<schar x>)}}
147   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(unsigned long) (reg_$0<schar x>)}}
148   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(unsigned long) (reg_$0<schar x>)}}
149   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{(unsigned long) (reg_$0<schar x>)}}
150   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{(unsigned long) (reg_$0<schar x>)}}
151   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{(unsigned long) (reg_$0<schar x>)}}
152   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned long) ((unsigned char) (reg_$0<schar x>))}}
153   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned long) ((unsigned short) (reg_$0<schar x>))}}
154   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{(unsigned long) (reg_$0<schar x>)}}
155   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<schar x>)}}
156   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{(unsigned long) (reg_$0<schar x>)}}
157 
158   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) (reg_$0<schar x>)}}
159   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) (reg_$0<schar x>)}}
160   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) (reg_$0<schar x>)}}
161   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) (reg_$0<schar x>)}}
162   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) (reg_$0<schar x>)}}
163   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{(unsigned long long) (reg_$0<schar x>)}}
164   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) ((unsigned char) (reg_$0<schar x>))}}
165   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) ((unsigned short) (reg_$0<schar x>))}}
166   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) ((unsigned int) (reg_$0<schar x>))}}
167   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) ((unsigned long) (reg_$0<schar x>))}}
168   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{(unsigned long long) (reg_$0<schar x>)}}
169 }
170 
test_char(char x)171 void test_char(char x) {
172   clang_analyzer_dump(x); // expected-warning{{reg_$0<char x>}}
173 
174   clang_analyzer_dump((schar)x);  // expected-warning{{(signed char) (reg_$0<char x>)}}
175   clang_analyzer_dump((char)x);   // expected-warning{{reg_$0<char x>}}
176   clang_analyzer_dump((short)x);  // expected-warning{{(short) (reg_$0<char x>)}}
177   clang_analyzer_dump((int)x);    // expected-warning{{(int) (reg_$0<char x>)}}
178   clang_analyzer_dump((long)x);   // expected-warning{{(long) (reg_$0<char x>)}}
179   clang_analyzer_dump((llong)x);  // expected-warning{{(long long) (reg_$0<char x>)}}
180   clang_analyzer_dump((uchar)x);  // expected-warning{{(unsigned char) (reg_$0<char x>)}}
181   clang_analyzer_dump((ushort)x); // expected-warning{{(unsigned short) (reg_$0<char x>)}}
182   clang_analyzer_dump((uint)x);   // expected-warning{{(unsigned int) (reg_$0<char x>)}}
183   clang_analyzer_dump((ulong)x);  // expected-warning{{(unsigned long) (reg_$0<char x>)}}
184   clang_analyzer_dump((ullong)x); // expected-warning{{(unsigned long long) (reg_$0<char x>)}}
185 
186   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{(signed char) (reg_$0<char x>)}}
187   clang_analyzer_dump((schar)(char)x);   // expected-warning{{(signed char) (reg_$0<char x>)}}
188   clang_analyzer_dump((schar)(short)x);  // expected-warning{{(signed char) (reg_$0<char x>)}}
189   clang_analyzer_dump((schar)(int)x);    // expected-warning{{(signed char) (reg_$0<char x>)}}
190   clang_analyzer_dump((schar)(long)x);   // expected-warning{{(signed char) (reg_$0<char x>)}}
191   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{(signed char) (reg_$0<char x>)}}
192   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{(signed char) (reg_$0<char x>)}}
193   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{(signed char) (reg_$0<char x>)}}
194   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{(signed char) (reg_$0<char x>)}}
195   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{(signed char) (reg_$0<char x>)}}
196   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{(signed char) (reg_$0<char x>)}}
197 
198   clang_analyzer_dump((char)(schar)x);  // expected-warning{{reg_$0<char x>}}
199   clang_analyzer_dump((char)(char)x);   // expected-warning{{reg_$0<char x>}}
200   clang_analyzer_dump((char)(short)x);  // expected-warning{{reg_$0<char x>}}
201   clang_analyzer_dump((char)(int)x);    // expected-warning{{reg_$0<char x>}}
202   clang_analyzer_dump((char)(long)x);   // expected-warning{{reg_$0<char x>}}
203   clang_analyzer_dump((char)(llong)x);  // expected-warning{{reg_$0<char x>}}
204   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{reg_$0<char x>}}
205   clang_analyzer_dump((char)(ushort)x); // expected-warning{{reg_$0<char x>}}
206   clang_analyzer_dump((char)(uint)x);   // expected-warning{{reg_$0<char x>}}
207   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{reg_$0<char x>}}
208   clang_analyzer_dump((char)(ullong)x); // expected-warning{{reg_$0<char x>}}
209 
210   clang_analyzer_dump((short)(schar)x);  // expected-warning{{(short) (reg_$0<char x>)}}
211   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) (reg_$0<char x>)}}
212   clang_analyzer_dump((short)(short)x);  // expected-warning{{(short) (reg_$0<char x>)}}
213   clang_analyzer_dump((short)(int)x);    // expected-warning{{(short) (reg_$0<char x>)}}
214   clang_analyzer_dump((short)(long)x);   // expected-warning{{(short) (reg_$0<char x>)}}
215   clang_analyzer_dump((short)(llong)x);  // expected-warning{{(short) (reg_$0<char x>)}}
216   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) ((unsigned char) (reg_$0<char x>))}}
217   clang_analyzer_dump((short)(ushort)x); // expected-warning{{(short) (reg_$0<char x>)}}
218   clang_analyzer_dump((short)(uint)x);   // expected-warning{{(short) (reg_$0<char x>)}}
219   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{(short) (reg_$0<char x>)}}
220   clang_analyzer_dump((short)(ullong)x); // expected-warning{{(short) (reg_$0<char x>)}}
221 
222   clang_analyzer_dump((int)(schar)x);  // expected-warning{{(int) (reg_$0<char x>)}}
223   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) (reg_$0<char x>)}}
224   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) (reg_$0<char x>)}}
225   clang_analyzer_dump((int)(int)x);    // expected-warning{{(int) (reg_$0<char x>)}}
226   clang_analyzer_dump((int)(long)x);   // expected-warning{{(int) (reg_$0<char x>)}}
227   clang_analyzer_dump((int)(llong)x);  // expected-warning{{(int) (reg_$0<char x>)}}
228   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) ((unsigned char) (reg_$0<char x>))}}
229   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) ((unsigned short) (reg_$0<char x>))}}
230   clang_analyzer_dump((int)(uint)x);   // expected-warning{{(int) (reg_$0<char x>)}}
231   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{(int) (reg_$0<char x>)}}
232   clang_analyzer_dump((int)(ullong)x); // expected-warning{{(int) (reg_$0<char x>)}}
233 
234   clang_analyzer_dump((long)(schar)x);  // expected-warning{{(long) (reg_$0<char x>)}}
235   clang_analyzer_dump((long)(char)x);   // expected-warning{{(long) (reg_$0<char x>)}}
236   clang_analyzer_dump((long)(short)x);  // expected-warning{{(long) (reg_$0<char x>)}}
237   clang_analyzer_dump((long)(int)x);    // expected-warning{{(long) (reg_$0<char x>)}}
238   clang_analyzer_dump((long)(long)x);   // expected-warning{{(long) (reg_$0<char x>)}}
239   clang_analyzer_dump((long)(llong)x);  // expected-warning{{(long) (reg_$0<char x>)}}
240   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(long) ((unsigned char) (reg_$0<char x>))}}
241   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(long) ((unsigned short) (reg_$0<char x>))}}
242   clang_analyzer_dump((long)(uint)x);   // expected-warning{{(long) (reg_$0<char x>)}}
243   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{(long) (reg_$0<char x>)}}
244   clang_analyzer_dump((long)(ullong)x); // expected-warning{{(long) (reg_$0<char x>)}}
245 
246   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{(long long) (reg_$0<char x>)}}
247   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(long long) (reg_$0<char x>)}}
248   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(long long) (reg_$0<char x>)}}
249   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(long long) (reg_$0<char x>)}}
250   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long long) (reg_$0<char x>)}}
251   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{(long long) (reg_$0<char x>)}}
252   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(long long) ((unsigned char) (reg_$0<char x>))}}
253   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(long long) ((unsigned short) (reg_$0<char x>))}}
254   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(long long) ((unsigned int) (reg_$0<char x>))}}
255   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(long long) ((unsigned long) (reg_$0<char x>))}}
256   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{(long long) (reg_$0<char x>)}}
257 
258   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{(unsigned char) (reg_$0<char x>)}}
259   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{(unsigned char) (reg_$0<char x>)}}
260   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{(unsigned char) (reg_$0<char x>)}}
261   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{(unsigned char) (reg_$0<char x>)}}
262   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{(unsigned char) (reg_$0<char x>)}}
263   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{(unsigned char) (reg_$0<char x>)}}
264   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<char x>)}}
265   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{(unsigned char) (reg_$0<char x>)}}
266   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{(unsigned char) (reg_$0<char x>)}}
267   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{(unsigned char) (reg_$0<char x>)}}
268   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{(unsigned char) (reg_$0<char x>)}}
269 
270   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) (reg_$0<char x>)}}
271   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) (reg_$0<char x>)}}
272   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{(unsigned short) (reg_$0<char x>)}}
273   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{(unsigned short) (reg_$0<char x>)}}
274   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{(unsigned short) (reg_$0<char x>)}}
275   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{(unsigned short) (reg_$0<char x>)}}
276   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) ((unsigned char) (reg_$0<char x>))}}
277   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<char x>)}}
278   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{(unsigned short) (reg_$0<char x>)}}
279   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{(unsigned short) (reg_$0<char x>)}}
280   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{(unsigned short) (reg_$0<char x>)}}
281 
282   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(unsigned int) (reg_$0<char x>)}}
283   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(unsigned int) (reg_$0<char x>)}}
284   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(unsigned int) (reg_$0<char x>)}}
285   clang_analyzer_dump((uint)(int)x);    // expected-warning{{(unsigned int) (reg_$0<char x>)}}
286   clang_analyzer_dump((uint)(long)x);   // expected-warning{{(unsigned int) (reg_$0<char x>)}}
287   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{(unsigned int) (reg_$0<char x>)}}
288   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned int) ((unsigned char) (reg_$0<char x>))}}
289   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned int) ((unsigned short) (reg_$0<char x>))}}
290   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<char x>)}}
291   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{(unsigned int) (reg_$0<char x>)}}
292   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{(unsigned int) (reg_$0<char x>)}}
293 
294   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(unsigned long) (reg_$0<char x>)}}
295   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(unsigned long) (reg_$0<char x>)}}
296   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(unsigned long) (reg_$0<char x>)}}
297   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{(unsigned long) (reg_$0<char x>)}}
298   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{(unsigned long) (reg_$0<char x>)}}
299   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{(unsigned long) (reg_$0<char x>)}}
300   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned long) ((unsigned char) (reg_$0<char x>))}}
301   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned long) ((unsigned short) (reg_$0<char x>))}}
302   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{(unsigned long) (reg_$0<char x>)}}
303   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<char x>)}}
304   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{(unsigned long) (reg_$0<char x>)}}
305 
306   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) (reg_$0<char x>)}}
307   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) (reg_$0<char x>)}}
308   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) (reg_$0<char x>)}}
309   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) (reg_$0<char x>)}}
310   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) (reg_$0<char x>)}}
311   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{(unsigned long long) (reg_$0<char x>)}}
312   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) ((unsigned char) (reg_$0<char x>))}}
313   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) ((unsigned short) (reg_$0<char x>))}}
314   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) ((unsigned int) (reg_$0<char x>))}}
315   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) ((unsigned long) (reg_$0<char x>))}}
316   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{(unsigned long long) (reg_$0<char x>)}}
317 }
318 
test_short(short x)319 void test_short(short x) {
320   clang_analyzer_dump(x); // expected-warning{{reg_$0<short x>}}
321 
322   clang_analyzer_dump((schar)x);  // expected-warning{{(signed char) (reg_$0<short x>)}}
323   clang_analyzer_dump((char)x);   // expected-warning{{(char) (reg_$0<short x>)}}
324   clang_analyzer_dump((short)x);  // expected-warning{{reg_$0<short x>}}
325   clang_analyzer_dump((int)x);    // expected-warning{{(int) (reg_$0<short x>)}}
326   clang_analyzer_dump((long)x);   // expected-warning{{(long) (reg_$0<short x>)}}
327   clang_analyzer_dump((llong)x);  // expected-warning{{(long long) (reg_$0<short x>)}}
328   clang_analyzer_dump((uchar)x);  // expected-warning{{(unsigned char) (reg_$0<short x>)}}
329   clang_analyzer_dump((ushort)x); // expected-warning{{(unsigned short) (reg_$0<short x>)}}
330   clang_analyzer_dump((uint)x);   // expected-warning{{(unsigned int) (reg_$0<short x>)}}
331   clang_analyzer_dump((ulong)x);  // expected-warning{{(unsigned long) (reg_$0<short x>)}}
332   clang_analyzer_dump((ullong)x); // expected-warning{{(unsigned long long) (reg_$0<short x>)}}
333 
334   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{(signed char) (reg_$0<short x>)}}
335   clang_analyzer_dump((schar)(char)x);   // expected-warning{{(signed char) (reg_$0<short x>)}}
336   clang_analyzer_dump((schar)(short)x);  // expected-warning{{(signed char) (reg_$0<short x>)}}
337   clang_analyzer_dump((schar)(int)x);    // expected-warning{{(signed char) (reg_$0<short x>)}}
338   clang_analyzer_dump((schar)(long)x);   // expected-warning{{(signed char) (reg_$0<short x>)}}
339   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{(signed char) (reg_$0<short x>)}}
340   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{(signed char) (reg_$0<short x>)}}
341   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{(signed char) (reg_$0<short x>)}}
342   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{(signed char) (reg_$0<short x>)}}
343   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{(signed char) (reg_$0<short x>)}}
344   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{(signed char) (reg_$0<short x>)}}
345 
346   clang_analyzer_dump((char)(schar)x);  // expected-warning{{(char) (reg_$0<short x>)}}
347   clang_analyzer_dump((char)(char)x);   // expected-warning{{(char) (reg_$0<short x>)}}
348   clang_analyzer_dump((char)(short)x);  // expected-warning{{(char) (reg_$0<short x>)}}
349   clang_analyzer_dump((char)(int)x);    // expected-warning{{(char) (reg_$0<short x>)}}
350   clang_analyzer_dump((char)(long)x);   // expected-warning{{(char) (reg_$0<short x>)}}
351   clang_analyzer_dump((char)(llong)x);  // expected-warning{{(char) (reg_$0<short x>)}}
352   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{(char) (reg_$0<short x>)}}
353   clang_analyzer_dump((char)(ushort)x); // expected-warning{{(char) (reg_$0<short x>)}}
354   clang_analyzer_dump((char)(uint)x);   // expected-warning{{(char) (reg_$0<short x>)}}
355   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{(char) (reg_$0<short x>)}}
356   clang_analyzer_dump((char)(ullong)x); // expected-warning{{(char) (reg_$0<short x>)}}
357 
358   clang_analyzer_dump((short)(schar)x);  // expected-warning{{reg_$0<short x>}}
359   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) ((char) (reg_$0<short x>))}}
360   clang_analyzer_dump((short)(short)x);  // expected-warning{{reg_$0<short x>}}
361   clang_analyzer_dump((short)(int)x);    // expected-warning{{reg_$0<short x>}}
362   clang_analyzer_dump((short)(long)x);   // expected-warning{{reg_$0<short x>}}
363   clang_analyzer_dump((short)(llong)x);  // expected-warning{{reg_$0<short x>}}
364   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) ((unsigned char) (reg_$0<short x>))}}
365   clang_analyzer_dump((short)(ushort)x); // expected-warning{{reg_$0<short x>}}
366   clang_analyzer_dump((short)(uint)x);   // expected-warning{{reg_$0<short x>}}
367   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{reg_$0<short x>}}
368   clang_analyzer_dump((short)(ullong)x); // expected-warning{{reg_$0<short x>}}
369 
370   clang_analyzer_dump((int)(schar)x);  // expected-warning{{(int) ((signed char) (reg_$0<short x>))}}
371   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) ((char) (reg_$0<short x>))}}
372   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) (reg_$0<short x>)}}
373   clang_analyzer_dump((int)(int)x);    // expected-warning{{(int) (reg_$0<short x>)}}
374   clang_analyzer_dump((int)(long)x);   // expected-warning{{(int) (reg_$0<short x>)}}
375   clang_analyzer_dump((int)(llong)x);  // expected-warning{{(int) (reg_$0<short x>)}}
376   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) ((unsigned char) (reg_$0<short x>))}}
377   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) ((unsigned short) (reg_$0<short x>))}}
378   clang_analyzer_dump((int)(uint)x);   // expected-warning{{(int) (reg_$0<short x>)}}
379   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{(int) (reg_$0<short x>)}}
380   clang_analyzer_dump((int)(ullong)x); // expected-warning{{(int) (reg_$0<short x>)}}
381 
382   clang_analyzer_dump((long)(schar)x);  // expected-warning{{(long) ((signed char) (reg_$0<short x>))}}
383   clang_analyzer_dump((long)(char)x);   // expected-warning{{(long) ((char) (reg_$0<short x>))}}
384   clang_analyzer_dump((long)(short)x);  // expected-warning{{(long) (reg_$0<short x>)}}
385   clang_analyzer_dump((long)(int)x);    // expected-warning{{(long) (reg_$0<short x>)}}
386   clang_analyzer_dump((long)(long)x);   // expected-warning{{(long) (reg_$0<short x>)}}
387   clang_analyzer_dump((long)(llong)x);  // expected-warning{{(long) (reg_$0<short x>)}}
388   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(long) ((unsigned char) (reg_$0<short x>))}}
389   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(long) ((unsigned short) (reg_$0<short x>))}}
390   clang_analyzer_dump((long)(uint)x);   // expected-warning{{(long) (reg_$0<short x>)}}
391   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{(long) (reg_$0<short x>)}}
392   clang_analyzer_dump((long)(ullong)x); // expected-warning{{(long) (reg_$0<short x>)}}
393 
394   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{(long long) ((signed char) (reg_$0<short x>))}}
395   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(long long) ((char) (reg_$0<short x>))}}
396   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(long long) (reg_$0<short x>)}}
397   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(long long) (reg_$0<short x>)}}
398   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long long) (reg_$0<short x>)}}
399   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{(long long) (reg_$0<short x>)}}
400   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(long long) ((unsigned char) (reg_$0<short x>))}}
401   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(long long) ((unsigned short) (reg_$0<short x>))}}
402   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(long long) ((unsigned int) (reg_$0<short x>))}}
403   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(long long) ((unsigned long) (reg_$0<short x>))}}
404   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{(long long) (reg_$0<short x>)}}
405 
406   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{(unsigned char) (reg_$0<short x>)}}
407   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{(unsigned char) (reg_$0<short x>)}}
408   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{(unsigned char) (reg_$0<short x>)}}
409   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{(unsigned char) (reg_$0<short x>)}}
410   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{(unsigned char) (reg_$0<short x>)}}
411   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{(unsigned char) (reg_$0<short x>)}}
412   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<short x>)}}
413   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{(unsigned char) (reg_$0<short x>)}}
414   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{(unsigned char) (reg_$0<short x>)}}
415   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{(unsigned char) (reg_$0<short x>)}}
416   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{(unsigned char) (reg_$0<short x>)}}
417 
418   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) ((signed char) (reg_$0<short x>))}}
419   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) ((char) (reg_$0<short x>))}}
420   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{(unsigned short) (reg_$0<short x>)}}
421   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{(unsigned short) (reg_$0<short x>)}}
422   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{(unsigned short) (reg_$0<short x>)}}
423   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{(unsigned short) (reg_$0<short x>)}}
424   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) ((unsigned char) (reg_$0<short x>))}}
425   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<short x>)}}
426   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{(unsigned short) (reg_$0<short x>)}}
427   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{(unsigned short) (reg_$0<short x>)}}
428   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{(unsigned short) (reg_$0<short x>)}}
429 
430   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(unsigned int) ((signed char) (reg_$0<short x>))}}
431   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(unsigned int) ((char) (reg_$0<short x>))}}
432   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(unsigned int) (reg_$0<short x>)}}
433   clang_analyzer_dump((uint)(int)x);    // expected-warning{{(unsigned int) (reg_$0<short x>)}}
434   clang_analyzer_dump((uint)(long)x);   // expected-warning{{(unsigned int) (reg_$0<short x>)}}
435   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{(unsigned int) (reg_$0<short x>)}}
436   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned int) ((unsigned char) (reg_$0<short x>))}}
437   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned int) ((unsigned short) (reg_$0<short x>))}}
438   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<short x>)}}
439   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{(unsigned int) (reg_$0<short x>)}}
440   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{(unsigned int) (reg_$0<short x>)}}
441 
442   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(unsigned long) ((signed char) (reg_$0<short x>))}}
443   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(unsigned long) ((char) (reg_$0<short x>))}}
444   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(unsigned long) (reg_$0<short x>)}}
445   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{(unsigned long) (reg_$0<short x>)}}
446   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{(unsigned long) (reg_$0<short x>)}}
447   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{(unsigned long) (reg_$0<short x>)}}
448   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned long) ((unsigned char) (reg_$0<short x>))}}
449   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned long) ((unsigned short) (reg_$0<short x>))}}
450   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{(unsigned long) (reg_$0<short x>)}}
451   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<short x>)}}
452   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{(unsigned long) (reg_$0<short x>)}}
453 
454   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) ((signed char) (reg_$0<short x>))}}
455   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) ((char) (reg_$0<short x>))}}
456   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) (reg_$0<short x>)}}
457   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) (reg_$0<short x>)}}
458   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) (reg_$0<short x>)}}
459   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{(unsigned long long) (reg_$0<short x>)}}
460   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) ((unsigned char) (reg_$0<short x>))}}
461   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) ((unsigned short) (reg_$0<short x>))}}
462   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) ((unsigned int) (reg_$0<short x>))}}
463   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) ((unsigned long) (reg_$0<short x>))}}
464   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{(unsigned long long) (reg_$0<short x>)}}
465 }
466 
test_int(int x)467 void test_int(int x) {
468   clang_analyzer_dump(x); // expected-warning{{reg_$0<int x>}}
469 
470   clang_analyzer_dump((schar)x);  // expected-warning{{(signed char) (reg_$0<int x>)}}
471   clang_analyzer_dump((char)x);   // expected-warning{{(char) (reg_$0<int x>)}}
472   clang_analyzer_dump((short)x);  // expected-warning{{(short) (reg_$0<int x>)}}
473   clang_analyzer_dump((int)x);    // expected-warning{{reg_$0<int x>}}
474   clang_analyzer_dump((long)x);   // expected-warning{{(long) (reg_$0<int x>)}}
475   clang_analyzer_dump((llong)x);  // expected-warning{{(long long) (reg_$0<int x>)}}
476   clang_analyzer_dump((uchar)x);  // expected-warning{{(unsigned char) (reg_$0<int x>)}}
477   clang_analyzer_dump((ushort)x); // expected-warning{{(unsigned short) (reg_$0<int x>)}}
478   clang_analyzer_dump((uint)x);   // expected-warning{{(unsigned int) (reg_$0<int x>)}}
479   clang_analyzer_dump((ulong)x);  // expected-warning{{(unsigned long) (reg_$0<int x>)}}
480   clang_analyzer_dump((ullong)x); // expected-warning{{(unsigned long long) (reg_$0<int x>)}}
481 
482   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{(signed char) (reg_$0<int x>)}}
483   clang_analyzer_dump((schar)(char)x);   // expected-warning{{(signed char) (reg_$0<int x>)}}
484   clang_analyzer_dump((schar)(short)x);  // expected-warning{{(signed char) (reg_$0<int x>)}}
485   clang_analyzer_dump((schar)(int)x);    // expected-warning{{(signed char) (reg_$0<int x>)}}
486   clang_analyzer_dump((schar)(long)x);   // expected-warning{{(signed char) (reg_$0<int x>)}}
487   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{(signed char) (reg_$0<int x>)}}
488   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{(signed char) (reg_$0<int x>)}}
489   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{(signed char) (reg_$0<int x>)}}
490   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{(signed char) (reg_$0<int x>)}}
491   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{(signed char) (reg_$0<int x>)}}
492   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{(signed char) (reg_$0<int x>)}}
493 
494   clang_analyzer_dump((char)(schar)x);  // expected-warning{{(char) (reg_$0<int x>)}}
495   clang_analyzer_dump((char)(char)x);   // expected-warning{{(char) (reg_$0<int x>)}}
496   clang_analyzer_dump((char)(short)x);  // expected-warning{{(char) (reg_$0<int x>)}}
497   clang_analyzer_dump((char)(int)x);    // expected-warning{{(char) (reg_$0<int x>)}}
498   clang_analyzer_dump((char)(long)x);   // expected-warning{{(char) (reg_$0<int x>)}}
499   clang_analyzer_dump((char)(llong)x);  // expected-warning{{(char) (reg_$0<int x>)}}
500   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{(char) (reg_$0<int x>)}}
501   clang_analyzer_dump((char)(ushort)x); // expected-warning{{(char) (reg_$0<int x>)}}
502   clang_analyzer_dump((char)(uint)x);   // expected-warning{{(char) (reg_$0<int x>)}}
503   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{(char) (reg_$0<int x>)}}
504   clang_analyzer_dump((char)(ullong)x); // expected-warning{{(char) (reg_$0<int x>)}}
505 
506   clang_analyzer_dump((short)(schar)x);  // expected-warning{{(short) ((signed char) (reg_$0<int x>))}}
507   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) ((char) (reg_$0<int x>))}}
508   clang_analyzer_dump((short)(short)x);  // expected-warning{{(short) (reg_$0<int x>)}}
509   clang_analyzer_dump((short)(int)x);    // expected-warning{{(short) (reg_$0<int x>)}}
510   clang_analyzer_dump((short)(long)x);   // expected-warning{{(short) (reg_$0<int x>)}}
511   clang_analyzer_dump((short)(llong)x);  // expected-warning{{(short) (reg_$0<int x>)}}
512   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) ((unsigned char) (reg_$0<int x>))}}
513   clang_analyzer_dump((short)(ushort)x); // expected-warning{{(short) (reg_$0<int x>)}}
514   clang_analyzer_dump((short)(uint)x);   // expected-warning{{(short) (reg_$0<int x>)}}
515   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{(short) (reg_$0<int x>)}}
516   clang_analyzer_dump((short)(ullong)x); // expected-warning{{(short) (reg_$0<int x>)}}
517 
518   clang_analyzer_dump((int)(schar)x);  // expected-warning{{reg_$0<int x>}}
519   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) ((char) (reg_$0<int x>))}}
520   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) ((short) (reg_$0<int x>))}}
521   clang_analyzer_dump((int)(int)x);    // expected-warning{{reg_$0<int x>}}
522   clang_analyzer_dump((int)(long)x);   // expected-warning{{reg_$0<int x>}}
523   clang_analyzer_dump((int)(llong)x);  // expected-warning{{reg_$0<int x>}}
524   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) ((unsigned char) (reg_$0<int x>))}}
525   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) ((unsigned short) (reg_$0<int x>))}}
526   clang_analyzer_dump((int)(uint)x);   // expected-warning{{reg_$0<int x>}}
527   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{reg_$0<int x>}}
528   clang_analyzer_dump((int)(ullong)x); // expected-warning{{reg_$0<int x>}}
529 
530   clang_analyzer_dump((long)(schar)x);  // expected-warning{{(long) ((signed char) (reg_$0<int x>))}}
531   clang_analyzer_dump((long)(char)x);   // expected-warning{{(long) ((char) (reg_$0<int x>))}}
532   clang_analyzer_dump((long)(short)x);  // expected-warning{{(long) ((short) (reg_$0<int x>))}}
533   clang_analyzer_dump((long)(int)x);    // expected-warning{{(long) (reg_$0<int x>)}}
534   clang_analyzer_dump((long)(long)x);   // expected-warning{{(long) (reg_$0<int x>)}}
535   clang_analyzer_dump((long)(llong)x);  // expected-warning{{(long) (reg_$0<int x>)}}
536   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(long) ((unsigned char) (reg_$0<int x>))}}
537   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(long) ((unsigned short) (reg_$0<int x>))}}
538   clang_analyzer_dump((long)(uint)x);   // expected-warning{{(long) (reg_$0<int x>)}}
539   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{(long) (reg_$0<int x>)}}
540   clang_analyzer_dump((long)(ullong)x); // expected-warning{{(long) (reg_$0<int x>)}}
541 
542   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{(long long) ((signed char) (reg_$0<int x>))}}
543   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(long long) ((char) (reg_$0<int x>))}}
544   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(long long) ((short) (reg_$0<int x>))}}
545   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(long long) (reg_$0<int x>)}}
546   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long long) (reg_$0<int x>)}}
547   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{(long long) (reg_$0<int x>)}}
548   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(long long) ((unsigned char) (reg_$0<int x>))}}
549   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(long long) ((unsigned short) (reg_$0<int x>))}}
550   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(long long) ((unsigned int) (reg_$0<int x>))}}
551   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(long long) ((unsigned long) (reg_$0<int x>))}}
552   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{(long long) (reg_$0<int x>)}}
553 
554   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{(unsigned char) (reg_$0<int x>)}}
555   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{(unsigned char) (reg_$0<int x>)}}
556   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{(unsigned char) (reg_$0<int x>)}}
557   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{(unsigned char) (reg_$0<int x>)}}
558   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{(unsigned char) (reg_$0<int x>)}}
559   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{(unsigned char) (reg_$0<int x>)}}
560   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<int x>)}}
561   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{(unsigned char) (reg_$0<int x>)}}
562   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{(unsigned char) (reg_$0<int x>)}}
563   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{(unsigned char) (reg_$0<int x>)}}
564   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{(unsigned char) (reg_$0<int x>)}}
565 
566   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) ((signed char) (reg_$0<int x>))}}
567   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) ((char) (reg_$0<int x>))}}
568   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{(unsigned short) (reg_$0<int x>)}}
569   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{(unsigned short) (reg_$0<int x>)}}
570   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{(unsigned short) (reg_$0<int x>)}}
571   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{(unsigned short) (reg_$0<int x>)}}
572   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) ((unsigned char) (reg_$0<int x>))}}
573   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<int x>)}}
574   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{(unsigned short) (reg_$0<int x>)}}
575   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{(unsigned short) (reg_$0<int x>)}}
576   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{(unsigned short) (reg_$0<int x>)}}
577 
578   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(unsigned int) ((signed char) (reg_$0<int x>))}}
579   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(unsigned int) ((char) (reg_$0<int x>))}}
580   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(unsigned int) ((short) (reg_$0<int x>))}}
581   clang_analyzer_dump((uint)(int)x);    // expected-warning{{(unsigned int) (reg_$0<int x>)}}
582   clang_analyzer_dump((uint)(long)x);   // expected-warning{{(unsigned int) (reg_$0<int x>)}}
583   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{(unsigned int) (reg_$0<int x>)}}
584   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned int) ((unsigned char) (reg_$0<int x>))}}
585   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned int) ((unsigned short) (reg_$0<int x>))}}
586   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<int x>)}}
587   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{(unsigned int) (reg_$0<int x>)}}
588   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{(unsigned int) (reg_$0<int x>)}}
589 
590   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(unsigned long) ((signed char) (reg_$0<int x>))}}
591   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(unsigned long) ((char) (reg_$0<int x>))}}
592   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(unsigned long) ((short) (reg_$0<int x>))}}
593   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{(unsigned long) (reg_$0<int x>)}}
594   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{(unsigned long) (reg_$0<int x>)}}
595   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{(unsigned long) (reg_$0<int x>)}}
596   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned long) ((unsigned char) (reg_$0<int x>))}}
597   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned long) ((unsigned short) (reg_$0<int x>))}}
598   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{(unsigned long) (reg_$0<int x>)}}
599   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<int x>)}}
600   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{(unsigned long) (reg_$0<int x>)}}
601 
602   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) ((signed char) (reg_$0<int x>))}}
603   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) ((char) (reg_$0<int x>))}}
604   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) ((short) (reg_$0<int x>))}}
605   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) (reg_$0<int x>)}}
606   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) (reg_$0<int x>)}}
607   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{(unsigned long long) (reg_$0<int x>)}}
608   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) ((unsigned char) (reg_$0<int x>))}}
609   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) ((unsigned short) (reg_$0<int x>))}}
610   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) ((unsigned int) (reg_$0<int x>))}}
611   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) ((unsigned long) (reg_$0<int x>))}}
612   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{(unsigned long long) (reg_$0<int x>)}}
613 }
614 
test_long(long x)615 void test_long(long x) {
616   clang_analyzer_dump(x); // expected-warning{{reg_$0<long x>}}
617 
618   clang_analyzer_dump((schar)x);  // expected-warning{{(signed char) (reg_$0<long x>)}}
619   clang_analyzer_dump((char)x);   // expected-warning{{(char) (reg_$0<long x>)}}
620   clang_analyzer_dump((short)x);  // expected-warning{{(short) (reg_$0<long x>)}}
621   clang_analyzer_dump((int)x);    // expected-warning{{(int) (reg_$0<long x>)}}
622   clang_analyzer_dump((long)x);   // expected-warning{{reg_$0<long x>}}
623   clang_analyzer_dump((llong)x);  // expected-warning{{(long long) (reg_$0<long x>)}}
624   clang_analyzer_dump((uchar)x);  // expected-warning{{(unsigned char) (reg_$0<long x>)}}
625   clang_analyzer_dump((ushort)x); // expected-warning{{(unsigned short) (reg_$0<long x>)}}
626   clang_analyzer_dump((uint)x);   // expected-warning{{(unsigned int) (reg_$0<long x>)}}
627   clang_analyzer_dump((ulong)x);  // expected-warning{{(unsigned long) (reg_$0<long x>)}}
628   clang_analyzer_dump((ullong)x); // expected-warning{{(unsigned long long) (reg_$0<long x>)}}
629 
630   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{(signed char) (reg_$0<long x>)}}
631   clang_analyzer_dump((schar)(char)x);   // expected-warning{{(signed char) (reg_$0<long x>)}}
632   clang_analyzer_dump((schar)(short)x);  // expected-warning{{(signed char) (reg_$0<long x>)}}
633   clang_analyzer_dump((schar)(int)x);    // expected-warning{{(signed char) (reg_$0<long x>)}}
634   clang_analyzer_dump((schar)(long)x);   // expected-warning{{(signed char) (reg_$0<long x>)}}
635   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{(signed char) (reg_$0<long x>)}}
636   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{(signed char) (reg_$0<long x>)}}
637   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{(signed char) (reg_$0<long x>)}}
638   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{(signed char) (reg_$0<long x>)}}
639   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{(signed char) (reg_$0<long x>)}}
640   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{(signed char) (reg_$0<long x>)}}
641 
642   clang_analyzer_dump((char)(schar)x);  // expected-warning{{(char) (reg_$0<long x>)}}
643   clang_analyzer_dump((char)(char)x);   // expected-warning{{(char) (reg_$0<long x>)}}
644   clang_analyzer_dump((char)(short)x);  // expected-warning{{(char) (reg_$0<long x>)}}
645   clang_analyzer_dump((char)(int)x);    // expected-warning{{(char) (reg_$0<long x>)}}
646   clang_analyzer_dump((char)(long)x);   // expected-warning{{(char) (reg_$0<long x>)}}
647   clang_analyzer_dump((char)(llong)x);  // expected-warning{{(char) (reg_$0<long x>)}}
648   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{(char) (reg_$0<long x>)}}
649   clang_analyzer_dump((char)(ushort)x); // expected-warning{{(char) (reg_$0<long x>)}}
650   clang_analyzer_dump((char)(uint)x);   // expected-warning{{(char) (reg_$0<long x>)}}
651   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{(char) (reg_$0<long x>)}}
652   clang_analyzer_dump((char)(ullong)x); // expected-warning{{(char) (reg_$0<long x>)}}
653 
654   clang_analyzer_dump((short)(schar)x);  // expected-warning{{(short) ((signed char) (reg_$0<long x>))}}
655   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) ((char) (reg_$0<long x>))}}
656   clang_analyzer_dump((short)(short)x);  // expected-warning{{(short) (reg_$0<long x>)}}
657   clang_analyzer_dump((short)(int)x);    // expected-warning{{(short) (reg_$0<long x>)}}
658   clang_analyzer_dump((short)(long)x);   // expected-warning{{(short) (reg_$0<long x>)}}
659   clang_analyzer_dump((short)(llong)x);  // expected-warning{{(short) (reg_$0<long x>)}}
660   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) ((unsigned char) (reg_$0<long x>))}}
661   clang_analyzer_dump((short)(ushort)x); // expected-warning{{(short) (reg_$0<long x>)}}
662   clang_analyzer_dump((short)(uint)x);   // expected-warning{{(short) (reg_$0<long x>)}}
663   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{(short) (reg_$0<long x>)}}
664   clang_analyzer_dump((short)(ullong)x); // expected-warning{{(short) (reg_$0<long x>)}}
665 
666   clang_analyzer_dump((int)(schar)x);  // expected-warning{{(int) ((signed char) (reg_$0<long x>))}}
667   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) ((char) (reg_$0<long x>))}}
668   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) ((short) (reg_$0<long x>))}}
669   clang_analyzer_dump((int)(int)x);    // expected-warning{{(int) (reg_$0<long x>)}}
670   clang_analyzer_dump((int)(long)x);   // expected-warning{{(int) (reg_$0<long x>)}}
671   clang_analyzer_dump((int)(llong)x);  // expected-warning{{(int) (reg_$0<long x>)}}
672   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) ((unsigned char) (reg_$0<long x>))}}
673   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) ((unsigned short) (reg_$0<long x>))}}
674   clang_analyzer_dump((int)(uint)x);   // expected-warning{{(int) (reg_$0<long x>)}}
675   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{(int) (reg_$0<long x>)}}
676   clang_analyzer_dump((int)(ullong)x); // expected-warning{{(int) (reg_$0<long x>)}}
677 
678   clang_analyzer_dump((long)(schar)x);  // expected-warning{{reg_$0<long x>}}
679   clang_analyzer_dump((long)(char)x);   // expected-warning{{(char) (reg_$0<long x>)}}
680   clang_analyzer_dump((long)(short)x);  // expected-warning{{(short) (reg_$0<long x>)}}
681   clang_analyzer_dump((long)(int)x);    // expected-warning{{reg_$0<long x>}}
682   clang_analyzer_dump((long)(long)x);   // expected-warning{{reg_$0<long x>}}
683   clang_analyzer_dump((long)(llong)x);  // expected-warning{{reg_$0<long x>}}
684   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<long x>)}}
685   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<long x>)}}
686   clang_analyzer_dump((long)(uint)x);   // expected-warning{{reg_$0<long x>}}
687   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{reg_$0<long x>}}
688   clang_analyzer_dump((long)(ullong)x); // expected-warning{{reg_$0<long x>}}
689 
690   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{(long long) ((signed char) (reg_$0<long x>))}}
691   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(long long) ((char) (reg_$0<long x>))}}
692   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(long long) ((short) (reg_$0<long x>))}}
693   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(long long) (reg_$0<long x>)}}
694   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long long) (reg_$0<long x>)}}
695   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{(long long) (reg_$0<long x>)}}
696   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(long long) ((unsigned char) (reg_$0<long x>))}}
697   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(long long) ((unsigned short) (reg_$0<long x>))}}
698   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(long long) ((unsigned int) (reg_$0<long x>))}}
699   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(long long) ((unsigned long) (reg_$0<long x>))}}
700   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{(long long) (reg_$0<long x>)}}
701 
702   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{(unsigned char) (reg_$0<long x>)}}
703   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{(unsigned char) (reg_$0<long x>)}}
704   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{(unsigned char) (reg_$0<long x>)}}
705   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{(unsigned char) (reg_$0<long x>)}}
706   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{(unsigned char) (reg_$0<long x>)}}
707   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{(unsigned char) (reg_$0<long x>)}}
708   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<long x>)}}
709   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{(unsigned char) (reg_$0<long x>)}}
710   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{(unsigned char) (reg_$0<long x>)}}
711   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{(unsigned char) (reg_$0<long x>)}}
712   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{(unsigned char) (reg_$0<long x>)}}
713 
714   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) ((signed char) (reg_$0<long x>))}}
715   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) ((char) (reg_$0<long x>))}}
716   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{(unsigned short) (reg_$0<long x>)}}
717   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{(unsigned short) (reg_$0<long x>)}}
718   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{(unsigned short) (reg_$0<long x>)}}
719   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{(unsigned short) (reg_$0<long x>)}}
720   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) ((unsigned char) (reg_$0<long x>))}}
721   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<long x>)}}
722   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{(unsigned short) (reg_$0<long x>)}}
723   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{(unsigned short) (reg_$0<long x>)}}
724   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{(unsigned short) (reg_$0<long x>)}}
725 
726   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(unsigned int) ((signed char) (reg_$0<long x>))}}
727   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(unsigned int) ((char) (reg_$0<long x>))}}
728   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(unsigned int) ((short) (reg_$0<long x>))}}
729   clang_analyzer_dump((uint)(int)x);    // expected-warning{{(unsigned int) (reg_$0<long x>}}
730   clang_analyzer_dump((uint)(long)x);   // expected-warning{{(unsigned int) (reg_$0<long x>}}
731   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{(unsigned int) (reg_$0<long x>}}
732   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned int) ((unsigned char) (reg_$0<long x>))}}
733   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned int) ((unsigned short) (reg_$0<long x>))}}
734   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<long x>}}
735   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{(unsigned int) (reg_$0<long x>}}
736   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{(unsigned int) (reg_$0<long x>}}
737 
738   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(unsigned long) ((signed char) (reg_$0<long x>))}}
739   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(unsigned long) ((char) (reg_$0<long x>))}}
740   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(unsigned long) ((short) (reg_$0<long x>))}}
741   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{(unsigned long) (reg_$0<long x>)}}
742   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{(unsigned long) (reg_$0<long x>)}}
743   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{(unsigned long) (reg_$0<long x>)}}
744   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned long) ((unsigned char) (reg_$0<long x>))}}
745   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned long) ((unsigned short) (reg_$0<long x>))}}
746   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{(unsigned long) (reg_$0<long x>)}}
747   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<long x>)}}
748   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{(unsigned long) (reg_$0<long x>)}}
749 
750   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) ((signed char) (reg_$0<long x>))}}
751   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) ((char) (reg_$0<long x>))}}
752   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) ((short) (reg_$0<long x>))}}
753   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) (reg_$0<long x>)}}
754   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) (reg_$0<long x>)}}
755   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{(unsigned long long) (reg_$0<long x>)}}
756   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) ((unsigned char) (reg_$0<long x>))}}
757   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) ((unsigned short) (reg_$0<long x>))}}
758   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) ((unsigned int) (reg_$0<long x>))}}
759   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) ((unsigned long) (reg_$0<long x>))}}
760   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{(unsigned long long) (reg_$0<long x>)}}
761 }
762 
test_llong(llong x)763 void test_llong(llong x) {
764   clang_analyzer_dump(x); // expected-warning{{reg_$0<llong x>}}
765 
766   clang_analyzer_dump((schar)x);  // expected-warning{{(signed char) (reg_$0<llong x>)}}
767   clang_analyzer_dump((char)x);   // expected-warning{{(char) (reg_$0<llong x>)}}
768   clang_analyzer_dump((short)x);  // expected-warning{{(short) (reg_$0<llong x>)}}
769   clang_analyzer_dump((int)x);    // expected-warning{{(int) (reg_$0<llong x>)}}
770   clang_analyzer_dump((long)x);   // expected-warning{{(long) (reg_$0<llong x>)}}
771   clang_analyzer_dump((llong)x);  // expected-warning{{reg_$0<llong x>}}
772   clang_analyzer_dump((uchar)x);  // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
773   clang_analyzer_dump((ushort)x); // expected-warning{{(unsigned short) (reg_$0<llong x>)}}
774   clang_analyzer_dump((uint)x);   // expected-warning{{(unsigned int) (reg_$0<llong x>)}}
775   clang_analyzer_dump((ulong)x);  // expected-warning{{(unsigned long) (reg_$0<llong x>)}}
776   clang_analyzer_dump((ullong)x); // expected-warning{{(unsigned long long) (reg_$0<llong x>)}}
777 
778   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{(signed char) (reg_$0<llong x>)}}
779   clang_analyzer_dump((schar)(char)x);   // expected-warning{{(signed char) (reg_$0<llong x>)}}
780   clang_analyzer_dump((schar)(short)x);  // expected-warning{{(signed char) (reg_$0<llong x>)}}
781   clang_analyzer_dump((schar)(int)x);    // expected-warning{{(signed char) (reg_$0<llong x>)}}
782   clang_analyzer_dump((schar)(long)x);   // expected-warning{{(signed char) (reg_$0<llong x>)}}
783   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{(signed char) (reg_$0<llong x>)}}
784   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{(signed char) (reg_$0<llong x>)}}
785   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{(signed char) (reg_$0<llong x>)}}
786   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{(signed char) (reg_$0<llong x>)}}
787   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{(signed char) (reg_$0<llong x>)}}
788   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{(signed char) (reg_$0<llong x>)}}
789 
790   clang_analyzer_dump((char)(schar)x);  // expected-warning{{(char) (reg_$0<llong x>)}}
791   clang_analyzer_dump((char)(char)x);   // expected-warning{{(char) (reg_$0<llong x>)}}
792   clang_analyzer_dump((char)(short)x);  // expected-warning{{(char) (reg_$0<llong x>)}}
793   clang_analyzer_dump((char)(int)x);    // expected-warning{{(char) (reg_$0<llong x>)}}
794   clang_analyzer_dump((char)(long)x);   // expected-warning{{(char) (reg_$0<llong x>)}}
795   clang_analyzer_dump((char)(llong)x);  // expected-warning{{(char) (reg_$0<llong x>)}}
796   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{(char) (reg_$0<llong x>)}}
797   clang_analyzer_dump((char)(ushort)x); // expected-warning{{(char) (reg_$0<llong x>)}}
798   clang_analyzer_dump((char)(uint)x);   // expected-warning{{(char) (reg_$0<llong x>)}}
799   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{(char) (reg_$0<llong x>)}}
800   clang_analyzer_dump((char)(ullong)x); // expected-warning{{(char) (reg_$0<llong x>)}}
801 
802   clang_analyzer_dump((short)(schar)x);  // expected-warning{{(short) ((signed char) (reg_$0<llong x>))}}
803   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) ((char) (reg_$0<llong x>))}}
804   clang_analyzer_dump((short)(short)x);  // expected-warning{{(short) (reg_$0<llong x>)}}
805   clang_analyzer_dump((short)(int)x);    // expected-warning{{(short) (reg_$0<llong x>)}}
806   clang_analyzer_dump((short)(long)x);   // expected-warning{{(short) (reg_$0<llong x>)}}
807   clang_analyzer_dump((short)(llong)x);  // expected-warning{{(short) (reg_$0<llong x>)}}
808   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) ((unsigned char) (reg_$0<llong x>))}}
809   clang_analyzer_dump((short)(ushort)x); // expected-warning{{(short) (reg_$0<llong x>)}}
810   clang_analyzer_dump((short)(uint)x);   // expected-warning{{(short) (reg_$0<llong x>)}}
811   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{(short) (reg_$0<llong x>)}}
812   clang_analyzer_dump((short)(ullong)x); // expected-warning{{(short) (reg_$0<llong x>)}}
813 
814   clang_analyzer_dump((int)(schar)x);  // expected-warning{{(int) ((signed char) (reg_$0<llong x>))}}
815   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) ((char) (reg_$0<llong x>))}}
816   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) ((short) (reg_$0<llong x>))}}
817   clang_analyzer_dump((int)(int)x);    // expected-warning{{(int) (reg_$0<llong x>)}}
818   clang_analyzer_dump((int)(long)x);   // expected-warning{{(int) (reg_$0<llong x>)}}
819   clang_analyzer_dump((int)(llong)x);  // expected-warning{{(int) (reg_$0<llong x>)}}
820   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) ((unsigned char) (reg_$0<llong x>))}}
821   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) ((unsigned short) (reg_$0<llong x>))}}
822   clang_analyzer_dump((int)(uint)x);   // expected-warning{{(int) (reg_$0<llong x>)}}
823   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{(int) (reg_$0<llong x>)}}
824   clang_analyzer_dump((int)(ullong)x); // expected-warning{{(int) (reg_$0<llong x>)}}
825 
826   clang_analyzer_dump((long)(schar)x);  // expected-warning{{(long) ((signed char) (reg_$0<llong x>))}}
827   clang_analyzer_dump((long)(char)x);   // expected-warning{{(long) ((char) (reg_$0<llong x>))}}
828   clang_analyzer_dump((long)(short)x);  // expected-warning{{(long) ((short) (reg_$0<llong x>))}}
829   clang_analyzer_dump((long)(int)x);    // expected-warning{{(long) (reg_$0<llong x>)}}
830   clang_analyzer_dump((long)(long)x);   // expected-warning{{(long) (reg_$0<llong x>)}}
831   clang_analyzer_dump((long)(llong)x);  // expected-warning{{(long) (reg_$0<llong x>)}}
832   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(long) ((unsigned char) (reg_$0<llong x>))}}
833   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(long) ((unsigned short) (reg_$0<llong x>))}}
834   clang_analyzer_dump((long)(uint)x);   // expected-warning{{(long) (reg_$0<llong x>)}}
835   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{(long) (reg_$0<llong x>)}}
836   clang_analyzer_dump((long)(ullong)x); // expected-warning{{(long) (reg_$0<llong x>)}}
837 
838   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{reg_$0<llong x>}}
839   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(char) (reg_$0<llong x>)}}
840   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(short) (reg_$0<llong x>)}}
841   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(int) (reg_$0<llong x>)}}
842   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long) (reg_$0<llong x>)}}
843   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{reg_$0<llong x>}}
844   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
845   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<llong x>)}}
846   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<llong x>)}}
847   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<llong x>)}}
848   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{reg_$0<llong x>}}
849 
850   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
851   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
852   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
853   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
854   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
855   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
856   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
857   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
858   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
859   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
860   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{(unsigned char) (reg_$0<llong x>)}}
861 
862   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) ((signed char) (reg_$0<llong x>))}}
863   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) ((char) (reg_$0<llong x>))}}
864   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{(unsigned short) (reg_$0<llong x>)}}
865   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{(unsigned short) (reg_$0<llong x>)}}
866   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{(unsigned short) (reg_$0<llong x>)}}
867   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{(unsigned short) (reg_$0<llong x>)}}
868   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) ((unsigned char) (reg_$0<llong x>))}}
869   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<llong x>)}}
870   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{(unsigned short) (reg_$0<llong x>)}}
871   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{(unsigned short) (reg_$0<llong x>)}}
872   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{(unsigned short) (reg_$0<llong x>)}}
873 
874   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(unsigned int) ((signed char) (reg_$0<llong x>))}}
875   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(unsigned int) ((char) (reg_$0<llong x>))}}
876   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(unsigned int) ((short) (reg_$0<llong x>))}}
877   clang_analyzer_dump((uint)(int)x);    // expected-warning{{(unsigned int) (reg_$0<llong x>}}
878   clang_analyzer_dump((uint)(long)x);   // expected-warning{{(unsigned int) (reg_$0<llong x>}}
879   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{(unsigned int) (reg_$0<llong x>}}
880   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned int) ((unsigned char) (reg_$0<llong x>))}}
881   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned int) ((unsigned short) (reg_$0<llong x>))}}
882   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<llong x>}}
883   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{(unsigned int) (reg_$0<llong x>}}
884   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{(unsigned int) (reg_$0<llong x>}}
885 
886   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(unsigned long) ((signed char) (reg_$0<llong x>))}}
887   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(unsigned long) ((char) (reg_$0<llong x>))}}
888   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(unsigned long) ((short) (reg_$0<llong x>))}}
889   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{(unsigned long) (reg_$0<llong x>)}}
890   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{(unsigned long) (reg_$0<llong x>)}}
891   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{(unsigned long) (reg_$0<llong x>)}}
892   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned long) ((unsigned char) (reg_$0<llong x>))}}
893   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned long) ((unsigned short) (reg_$0<llong x>))}}
894   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{(unsigned long) (reg_$0<llong x>)}}
895   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<llong x>)}}
896   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{(unsigned long) (reg_$0<llong x>)}}
897 
898   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) ((signed char) (reg_$0<llong x>))}}
899   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) ((char) (reg_$0<llong x>))}}
900   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) ((short) (reg_$0<llong x>))}}
901   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) ((int) (reg_$0<llong x>))}}
902   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) ((long) (reg_$0<llong x>))}}
903   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{(unsigned long long) (reg_$0<llong x>)}}
904   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) ((unsigned char) (reg_$0<llong x>))}}
905   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) ((unsigned short) (reg_$0<llong x>))}}
906   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) ((unsigned int) (reg_$0<llong x>))}}
907   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) ((unsigned long) (reg_$0<llong x>))}}
908   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{(unsigned long long) (reg_$0<llong x>)}}
909 }
910 
test_uchar(uchar x)911 void test_uchar(uchar x) {
912   clang_analyzer_dump(x); // expected-warning{{reg_$0<uchar x>}}
913 
914   clang_analyzer_dump((schar)x);  // expected-warning{{(signed char) (reg_$0<uchar x>)}}
915   clang_analyzer_dump((char)x);   // expected-warning{{(char) (reg_$0<uchar x>)}}
916   clang_analyzer_dump((short)x);  // expected-warning{{(short) (reg_$0<uchar x>)}}
917   clang_analyzer_dump((int)x);    // expected-warning{{(int) (reg_$0<uchar x>)}}
918   clang_analyzer_dump((long)x);   // expected-warning{{(long) (reg_$0<uchar x>)}}
919   clang_analyzer_dump((llong)x);  // expected-warning{{(long long) (reg_$0<uchar x>)}}
920   clang_analyzer_dump((uchar)x);  // expected-warning{{reg_$0<uchar x>}}
921   clang_analyzer_dump((ushort)x); // expected-warning{{(unsigned short) (reg_$0<uchar x>)}}
922   clang_analyzer_dump((uint)x);   // expected-warning{{(unsigned int) (reg_$0<uchar x>)}}
923   clang_analyzer_dump((ulong)x);  // expected-warning{{(unsigned long) (reg_$0<uchar x>)}}
924   clang_analyzer_dump((ullong)x); // expected-warning{{(unsigned long long) (reg_$0<uchar x>)}}
925 
926   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{(signed char) (reg_$0<uchar x>)}}
927   clang_analyzer_dump((schar)(char)x);   // expected-warning{{(signed char) (reg_$0<uchar x>)}}
928   clang_analyzer_dump((schar)(short)x);  // expected-warning{{(signed char) (reg_$0<uchar x>)}}
929   clang_analyzer_dump((schar)(int)x);    // expected-warning{{(signed char) (reg_$0<uchar x>)}}
930   clang_analyzer_dump((schar)(long)x);   // expected-warning{{(signed char) (reg_$0<uchar x>)}}
931   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{(signed char) (reg_$0<uchar x>)}}
932   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{(signed char) (reg_$0<uchar x>)}}
933   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{(signed char) (reg_$0<uchar x>)}}
934   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{(signed char) (reg_$0<uchar x>)}}
935   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{(signed char) (reg_$0<uchar x>)}}
936   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{(signed char) (reg_$0<uchar x>)}}
937 
938   clang_analyzer_dump((char)(schar)x);  // expected-warning{{(char) (reg_$0<uchar x>)}}
939   clang_analyzer_dump((char)(char)x);   // expected-warning{{(char) (reg_$0<uchar x>)}}
940   clang_analyzer_dump((char)(short)x);  // expected-warning{{(char) (reg_$0<uchar x>)}}
941   clang_analyzer_dump((char)(int)x);    // expected-warning{{(char) (reg_$0<uchar x>)}}
942   clang_analyzer_dump((char)(long)x);   // expected-warning{{(char) (reg_$0<uchar x>)}}
943   clang_analyzer_dump((char)(llong)x);  // expected-warning{{(char) (reg_$0<uchar x>)}}
944   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{(char) (reg_$0<uchar x>)}}
945   clang_analyzer_dump((char)(ushort)x); // expected-warning{{(char) (reg_$0<uchar x>)}}
946   clang_analyzer_dump((char)(uint)x);   // expected-warning{{(char) (reg_$0<uchar x>)}}
947   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{(char) (reg_$0<uchar x>)}}
948   clang_analyzer_dump((char)(ullong)x); // expected-warning{{(char) (reg_$0<uchar x>)}}
949 
950   clang_analyzer_dump((short)(schar)x);  // expected-warning{{(short) ((signed char) (reg_$0<uchar x>))}}
951   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) ((char) (reg_$0<uchar x>))}}
952   clang_analyzer_dump((short)(short)x);  // expected-warning{{(short) (reg_$0<uchar x>)}}
953   clang_analyzer_dump((short)(int)x);    // expected-warning{{(short) (reg_$0<uchar x>)}}
954   clang_analyzer_dump((short)(long)x);   // expected-warning{{(short) (reg_$0<uchar x>)}}
955   clang_analyzer_dump((short)(llong)x);  // expected-warning{{(short) (reg_$0<uchar x>)}}
956   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) (reg_$0<uchar x>)}}
957   clang_analyzer_dump((short)(ushort)x); // expected-warning{{(short) (reg_$0<uchar x>)}}
958   clang_analyzer_dump((short)(uint)x);   // expected-warning{{(short) (reg_$0<uchar x>)}}
959   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{(short) (reg_$0<uchar x>)}}
960   clang_analyzer_dump((short)(ullong)x); // expected-warning{{(short) (reg_$0<uchar x>)}}
961 
962   clang_analyzer_dump((int)(schar)x);  // expected-warning{{(int) ((signed char) (reg_$0<uchar x>))}}
963   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) ((char) (reg_$0<uchar x>))}}
964   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) (reg_$0<uchar x>)}}
965   clang_analyzer_dump((int)(int)x);    // expected-warning{{(int) (reg_$0<uchar x>)}}
966   clang_analyzer_dump((int)(long)x);   // expected-warning{{(int) (reg_$0<uchar x>)}}
967   clang_analyzer_dump((int)(llong)x);  // expected-warning{{(int) (reg_$0<uchar x>)}}
968   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) (reg_$0<uchar x>)}}
969   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) (reg_$0<uchar x>)}}
970   clang_analyzer_dump((int)(uint)x);   // expected-warning{{(int) (reg_$0<uchar x>)}}
971   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{(int) (reg_$0<uchar x>)}}
972   clang_analyzer_dump((int)(ullong)x); // expected-warning{{(int) (reg_$0<uchar x>)}}
973 
974   clang_analyzer_dump((long)(schar)x);  // expected-warning{{(long) ((signed char) (reg_$0<uchar x>))}}
975   clang_analyzer_dump((long)(char)x);   // expected-warning{{(long) ((char) (reg_$0<uchar x>))}}
976   clang_analyzer_dump((long)(short)x);  // expected-warning{{(long) (reg_$0<uchar x>)}}
977   clang_analyzer_dump((long)(int)x);    // expected-warning{{(long) (reg_$0<uchar x>)}}
978   clang_analyzer_dump((long)(long)x);   // expected-warning{{(long) (reg_$0<uchar x>)}}
979   clang_analyzer_dump((long)(llong)x);  // expected-warning{{(long) (reg_$0<uchar x>)}}
980   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(long) (reg_$0<uchar x>)}}
981   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(long) (reg_$0<uchar x>)}}
982   clang_analyzer_dump((long)(uint)x);   // expected-warning{{(long) (reg_$0<uchar x>)}}
983   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{(long) (reg_$0<uchar x>)}}
984   clang_analyzer_dump((long)(ullong)x); // expected-warning{{(long) (reg_$0<uchar x>)}}
985 
986   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{(long long) ((signed char) (reg_$0<uchar x>))}}
987   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(long long) ((char) (reg_$0<uchar x>))}}
988   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(long long) (reg_$0<uchar x>)}}
989   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(long long) (reg_$0<uchar x>)}}
990   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long long) (reg_$0<uchar x>)}}
991   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{(long long) (reg_$0<uchar x>)}}
992   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(long long) (reg_$0<uchar x>)}}
993   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(long long) (reg_$0<uchar x>)}}
994   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(long long) (reg_$0<uchar x>)}}
995   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(long long) (reg_$0<uchar x>)}}
996   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{(long long) (reg_$0<uchar x>)}}
997 
998   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{reg_$0<uchar x>}}
999   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{reg_$0<uchar x>}}
1000   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{reg_$0<uchar x>}}
1001   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{reg_$0<uchar x>}}
1002   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{reg_$0<uchar x>}}
1003   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{reg_$0<uchar x>}}
1004   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{reg_$0<uchar x>}}
1005   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{reg_$0<uchar x>}}
1006   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{reg_$0<uchar x>}}
1007   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{reg_$0<uchar x>}}
1008   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{reg_$0<uchar x>}}
1009 
1010   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) ((signed char) (reg_$0<uchar x>))}}
1011   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) ((char) (reg_$0<uchar x>))}}
1012   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{(unsigned short) (reg_$0<uchar x>)}}
1013   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{(unsigned short) (reg_$0<uchar x>)}}
1014   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{(unsigned short) (reg_$0<uchar x>)}}
1015   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{(unsigned short) (reg_$0<uchar x>)}}
1016   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) (reg_$0<uchar x>)}}
1017   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<uchar x>)}}
1018   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{(unsigned short) (reg_$0<uchar x>)}}
1019   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{(unsigned short) (reg_$0<uchar x>)}}
1020   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{(unsigned short) (reg_$0<uchar x>)}}
1021 
1022   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(unsigned int) ((signed char) (reg_$0<uchar x>))}}
1023   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(unsigned int) ((char) (reg_$0<uchar x>))}}
1024   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(unsigned int) (reg_$0<uchar x>)}}
1025   clang_analyzer_dump((uint)(int)x);    // expected-warning{{(unsigned int) (reg_$0<uchar x>)}}
1026   clang_analyzer_dump((uint)(long)x);   // expected-warning{{(unsigned int) (reg_$0<uchar x>)}}
1027   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{(unsigned int) (reg_$0<uchar x>)}}
1028   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned int) (reg_$0<uchar x>)}}
1029   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned int) (reg_$0<uchar x>)}}
1030   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<uchar x>)}}
1031   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{(unsigned int) (reg_$0<uchar x>)}}
1032   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{(unsigned int) (reg_$0<uchar x>)}}
1033 
1034   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(unsigned long) ((signed char) (reg_$0<uchar x>))}}
1035   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(unsigned long) ((char) (reg_$0<uchar x>))}}
1036   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(unsigned long) (reg_$0<uchar x>)}}
1037   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{(unsigned long) (reg_$0<uchar x>)}}
1038   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{(unsigned long) (reg_$0<uchar x>)}}
1039   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{(unsigned long) (reg_$0<uchar x>)}}
1040   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned long) (reg_$0<uchar x>)}}
1041   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned long) (reg_$0<uchar x>)}}
1042   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{(unsigned long) (reg_$0<uchar x>)}}
1043   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<uchar x>)}}
1044   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{(unsigned long) (reg_$0<uchar x>)}}
1045 
1046   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) ((signed char) (reg_$0<uchar x>))}}
1047   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) ((char) (reg_$0<uchar x>))}}
1048   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) (reg_$0<uchar x>)}}
1049   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) (reg_$0<uchar x>)}}
1050   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) (reg_$0<uchar x>)}}
1051   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{(unsigned long long) (reg_$0<uchar x>)}}
1052   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) (reg_$0<uchar x>)}}
1053   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) (reg_$0<uchar x>)}}
1054   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) (reg_$0<uchar x>)}}
1055   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) (reg_$0<uchar x>)}}
1056   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{(unsigned long long) (reg_$0<uchar x>)}}
1057 }
1058 
test_ushort(ushort x)1059 void test_ushort(ushort x) {
1060   clang_analyzer_dump(x); // expected-warning{{reg_$0<ushort x>}}
1061 
1062   clang_analyzer_dump((schar)x);  // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1063   clang_analyzer_dump((char)x);   // expected-warning{{(char) (reg_$0<ushort x>)}}
1064   clang_analyzer_dump((short)x);  // expected-warning{{(short) (reg_$0<ushort x>)}}
1065   clang_analyzer_dump((int)x);    // expected-warning{{(int) (reg_$0<ushort x>)}}
1066   clang_analyzer_dump((long)x);   // expected-warning{{(long) (reg_$0<ushort x>)}}
1067   clang_analyzer_dump((llong)x);  // expected-warning{{(long long) (reg_$0<ushort x>)}}
1068   clang_analyzer_dump((uchar)x);  // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1069   clang_analyzer_dump((ushort)x); // expected-warning{{reg_$0<ushort x>}}
1070   clang_analyzer_dump((uint)x);   // expected-warning{{(unsigned int) (reg_$0<ushort x>)}}
1071   clang_analyzer_dump((ulong)x);  // expected-warning{{(unsigned long) (reg_$0<ushort x>)}}
1072   clang_analyzer_dump((ullong)x); // expected-warning{{(unsigned long long) (reg_$0<ushort x>)}}
1073 
1074   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1075   clang_analyzer_dump((schar)(char)x);   // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1076   clang_analyzer_dump((schar)(short)x);  // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1077   clang_analyzer_dump((schar)(int)x);    // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1078   clang_analyzer_dump((schar)(long)x);   // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1079   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1080   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1081   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1082   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1083   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1084   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{(signed char) (reg_$0<ushort x>)}}
1085 
1086   clang_analyzer_dump((char)(schar)x);  // expected-warning{{(char) (reg_$0<ushort x>)}}
1087   clang_analyzer_dump((char)(char)x);   // expected-warning{{(char) (reg_$0<ushort x>)}}
1088   clang_analyzer_dump((char)(short)x);  // expected-warning{{(char) (reg_$0<ushort x>)}}
1089   clang_analyzer_dump((char)(int)x);    // expected-warning{{(char) (reg_$0<ushort x>)}}
1090   clang_analyzer_dump((char)(long)x);   // expected-warning{{(char) (reg_$0<ushort x>)}}
1091   clang_analyzer_dump((char)(llong)x);  // expected-warning{{(char) (reg_$0<ushort x>)}}
1092   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{(char) (reg_$0<ushort x>)}}
1093   clang_analyzer_dump((char)(ushort)x); // expected-warning{{(char) (reg_$0<ushort x>)}}
1094   clang_analyzer_dump((char)(uint)x);   // expected-warning{{(char) (reg_$0<ushort x>)}}
1095   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{(char) (reg_$0<ushort x>)}}
1096   clang_analyzer_dump((char)(ullong)x); // expected-warning{{(char) (reg_$0<ushort x>)}}
1097 
1098   clang_analyzer_dump((short)(schar)x);  // expected-warning{{(short) ((signed char) (reg_$0<ushort x>))}}
1099   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) ((char) (reg_$0<ushort x>))}}
1100   clang_analyzer_dump((short)(short)x);  // expected-warning{{(short) (reg_$0<ushort x>)}}
1101   clang_analyzer_dump((short)(int)x);    // expected-warning{{(short) (reg_$0<ushort x>)}}
1102   clang_analyzer_dump((short)(long)x);   // expected-warning{{(short) (reg_$0<ushort x>)}}
1103   clang_analyzer_dump((short)(llong)x);  // expected-warning{{(short) (reg_$0<ushort x>)}}
1104   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) ((unsigned char) (reg_$0<ushort x>))}}
1105   clang_analyzer_dump((short)(ushort)x); // expected-warning{{(short) (reg_$0<ushort x>)}}
1106   clang_analyzer_dump((short)(uint)x);   // expected-warning{{(short) (reg_$0<ushort x>)}}
1107   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{(short) (reg_$0<ushort x>)}}
1108   clang_analyzer_dump((short)(ullong)x); // expected-warning{{(short) (reg_$0<ushort x>)}}
1109 
1110   clang_analyzer_dump((int)(schar)x);  // expected-warning{{(int) ((signed char) (reg_$0<ushort x>))}}
1111   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) ((char) (reg_$0<ushort x>))}}
1112   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) ((short) (reg_$0<ushort x>))}}
1113   clang_analyzer_dump((int)(int)x);    // expected-warning{{(int) (reg_$0<ushort x>)}}
1114   clang_analyzer_dump((int)(long)x);   // expected-warning{{(int) (reg_$0<ushort x>)}}
1115   clang_analyzer_dump((int)(llong)x);  // expected-warning{{(int) (reg_$0<ushort x>)}}
1116   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) ((unsigned char) (reg_$0<ushort x>))}}
1117   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) (reg_$0<ushort x>)}}
1118   clang_analyzer_dump((int)(uint)x);   // expected-warning{{(int) (reg_$0<ushort x>)}}
1119   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{(int) (reg_$0<ushort x>)}}
1120   clang_analyzer_dump((int)(ullong)x); // expected-warning{{(int) (reg_$0<ushort x>)}}
1121 
1122   clang_analyzer_dump((long)(schar)x);  // expected-warning{{(long) ((signed char) (reg_$0<ushort x>))}}
1123   clang_analyzer_dump((long)(char)x);   // expected-warning{{(long) ((char) (reg_$0<ushort x>))}}
1124   clang_analyzer_dump((long)(short)x);  // expected-warning{{(long) ((short) (reg_$0<ushort x>))}}
1125   clang_analyzer_dump((long)(int)x);    // expected-warning{{(long) (reg_$0<ushort x>)}}
1126   clang_analyzer_dump((long)(long)x);   // expected-warning{{(long) (reg_$0<ushort x>)}}
1127   clang_analyzer_dump((long)(llong)x);  // expected-warning{{(long) (reg_$0<ushort x>)}}
1128   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(long) ((unsigned char) (reg_$0<ushort x>))}}
1129   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(long) (reg_$0<ushort x>)}}
1130   clang_analyzer_dump((long)(uint)x);   // expected-warning{{(long) (reg_$0<ushort x>)}}
1131   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{(long) (reg_$0<ushort x>)}}
1132   clang_analyzer_dump((long)(ullong)x); // expected-warning{{(long) (reg_$0<ushort x>)}}
1133 
1134   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{(long long) ((signed char) (reg_$0<ushort x>))}}
1135   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(long long) ((char) (reg_$0<ushort x>))}}
1136   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(long long) ((short) (reg_$0<ushort x>))}}
1137   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(long long) (reg_$0<ushort x>)}}
1138   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long long) (reg_$0<ushort x>)}}
1139   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{(long long) (reg_$0<ushort x>)}}
1140   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(long long) ((unsigned char) (reg_$0<ushort x>))}}
1141   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(long long) (reg_$0<ushort x>)}}
1142   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(long long) (reg_$0<ushort x>)}}
1143   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(long long) (reg_$0<ushort x>)}}
1144   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{(long long) (reg_$0<ushort x>)}}
1145 
1146   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1147   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1148   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1149   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1150   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1151   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1152   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1153   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1154   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1155   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1156   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{(unsigned char) (reg_$0<ushort x>)}}
1157 
1158   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) ((signed char) (reg_$0<ushort x>))}}
1159   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) ((char) (reg_$0<ushort x>))}}
1160   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{reg_$0<ushort x>}}
1161   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{reg_$0<ushort x>}}
1162   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{reg_$0<ushort x>}}
1163   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{reg_$0<ushort x>}}
1164   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) ((unsigned char) (reg_$0<ushort x>))}}
1165   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{reg_$0<ushort x>}}
1166   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{reg_$0<ushort x>}}
1167   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{reg_$0<ushort x>}}
1168   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{reg_$0<ushort x>}}
1169 
1170   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(unsigned int) ((signed char) (reg_$0<ushort x>))}}
1171   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(unsigned int) ((char) (reg_$0<ushort x>))}}
1172   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(unsigned int) ((short) (reg_$0<ushort x>))}}
1173   clang_analyzer_dump((uint)(int)x);    // expected-warning{{(unsigned int) (reg_$0<ushort x>)}}
1174   clang_analyzer_dump((uint)(long)x);   // expected-warning{{(unsigned int) (reg_$0<ushort x>)}}
1175   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{(unsigned int) (reg_$0<ushort x>)}}
1176   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned int) ((unsigned char) (reg_$0<ushort x>))}}
1177   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned int) (reg_$0<ushort x>)}}
1178   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<ushort x>)}}
1179   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{(unsigned int) (reg_$0<ushort x>)}}
1180   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{(unsigned int) (reg_$0<ushort x>)}}
1181 
1182   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(unsigned long) ((signed char) (reg_$0<ushort x>))}}
1183   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(unsigned long) ((char) (reg_$0<ushort x>))}}
1184   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(unsigned long) ((short) (reg_$0<ushort x>))}}
1185   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{(unsigned long) (reg_$0<ushort x>)}}
1186   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{(unsigned long) (reg_$0<ushort x>)}}
1187   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{(unsigned long) (reg_$0<ushort x>)}}
1188   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned long) ((unsigned char) (reg_$0<ushort x>))}}
1189   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned long) (reg_$0<ushort x>)}}
1190   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{(unsigned long) (reg_$0<ushort x>)}}
1191   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<ushort x>)}}
1192   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{(unsigned long) (reg_$0<ushort x>)}}
1193 
1194   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) ((signed char) (reg_$0<ushort x>))}}
1195   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) ((char) (reg_$0<ushort x>))}}
1196   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) ((short) (reg_$0<ushort x>))}}
1197   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) (reg_$0<ushort x>)}}
1198   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) (reg_$0<ushort x>)}}
1199   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{(unsigned long long) (reg_$0<ushort x>)}}
1200   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) ((unsigned char) (reg_$0<ushort x>))}}
1201   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) (reg_$0<ushort x>)}}
1202   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) (reg_$0<ushort x>)}}
1203   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) (reg_$0<ushort x>)}}
1204   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{(unsigned long long) (reg_$0<ushort x>)}}
1205 }
1206 
test_uint(uint x)1207 void test_uint(uint x) {
1208   clang_analyzer_dump(x); // expected-warning{{reg_$0<uint x>}}
1209 
1210   clang_analyzer_dump((schar)x);  // expected-warning{{(signed char) (reg_$0<uint x>)}}
1211   clang_analyzer_dump((char)x);   // expected-warning{{(char) (reg_$0<uint x>)}}
1212   clang_analyzer_dump((short)x);  // expected-warning{{(short) (reg_$0<uint x>)}}
1213   clang_analyzer_dump((int)x);    // expected-warning{{(int) (reg_$0<uint x>)}}
1214   clang_analyzer_dump((long)x);   // expected-warning{{(long) (reg_$0<uint x>)}}
1215   clang_analyzer_dump((llong)x);  // expected-warning{{(long long) (reg_$0<uint x>)}}
1216   clang_analyzer_dump((uchar)x);  // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1217   clang_analyzer_dump((ushort)x); // expected-warning{{(unsigned short) (reg_$0<uint x>)}}
1218   clang_analyzer_dump((uint)x);   // expected-warning{{reg_$0<uint x>}}
1219   clang_analyzer_dump((ulong)x);  // expected-warning{{(unsigned long) (reg_$0<uint x>)}}
1220   clang_analyzer_dump((ullong)x); // expected-warning{{(unsigned long long) (reg_$0<uint x>)}}
1221 
1222   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{(signed char) (reg_$0<uint x>)}}
1223   clang_analyzer_dump((schar)(char)x);   // expected-warning{{(signed char) (reg_$0<uint x>)}}
1224   clang_analyzer_dump((schar)(short)x);  // expected-warning{{(signed char) (reg_$0<uint x>)}}
1225   clang_analyzer_dump((schar)(int)x);    // expected-warning{{(signed char) (reg_$0<uint x>)}}
1226   clang_analyzer_dump((schar)(long)x);   // expected-warning{{(signed char) (reg_$0<uint x>)}}
1227   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{(signed char) (reg_$0<uint x>)}}
1228   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{(signed char) (reg_$0<uint x>)}}
1229   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{(signed char) (reg_$0<uint x>)}}
1230   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{(signed char) (reg_$0<uint x>)}}
1231   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{(signed char) (reg_$0<uint x>)}}
1232   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{(signed char) (reg_$0<uint x>)}}
1233 
1234   clang_analyzer_dump((char)(schar)x);  // expected-warning{{(char) (reg_$0<uint x>)}}
1235   clang_analyzer_dump((char)(char)x);   // expected-warning{{(char) (reg_$0<uint x>)}}
1236   clang_analyzer_dump((char)(short)x);  // expected-warning{{(char) (reg_$0<uint x>)}}
1237   clang_analyzer_dump((char)(int)x);    // expected-warning{{(char) (reg_$0<uint x>)}}
1238   clang_analyzer_dump((char)(long)x);   // expected-warning{{(char) (reg_$0<uint x>)}}
1239   clang_analyzer_dump((char)(llong)x);  // expected-warning{{(char) (reg_$0<uint x>)}}
1240   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{(char) (reg_$0<uint x>)}}
1241   clang_analyzer_dump((char)(ushort)x); // expected-warning{{(char) (reg_$0<uint x>)}}
1242   clang_analyzer_dump((char)(uint)x);   // expected-warning{{(char) (reg_$0<uint x>)}}
1243   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{(char) (reg_$0<uint x>)}}
1244   clang_analyzer_dump((char)(ullong)x); // expected-warning{{(char) (reg_$0<uint x>)}}
1245 
1246   clang_analyzer_dump((short)(schar)x);  // expected-warning{{(short) ((signed char) (reg_$0<uint x>))}}
1247   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) ((char) (reg_$0<uint x>))}}
1248   clang_analyzer_dump((short)(short)x);  // expected-warning{{(short) (reg_$0<uint x>)}}
1249   clang_analyzer_dump((short)(int)x);    // expected-warning{{(short) (reg_$0<uint x>)}}
1250   clang_analyzer_dump((short)(long)x);   // expected-warning{{(short) (reg_$0<uint x>)}}
1251   clang_analyzer_dump((short)(llong)x);  // expected-warning{{(short) (reg_$0<uint x>)}}
1252   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) ((unsigned char) (reg_$0<uint x>))}}
1253   clang_analyzer_dump((short)(ushort)x); // expected-warning{{(short) (reg_$0<uint x>)}}
1254   clang_analyzer_dump((short)(uint)x);   // expected-warning{{(short) (reg_$0<uint x>)}}
1255   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{(short) (reg_$0<uint x>)}}
1256   clang_analyzer_dump((short)(ullong)x); // expected-warning{{(short) (reg_$0<uint x>)}}
1257 
1258   clang_analyzer_dump((int)(schar)x);  // expected-warning{{(int) ((signed char) (reg_$0<uint x>))}}
1259   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) ((char) (reg_$0<uint x>))}}
1260   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) ((short) (reg_$0<uint x>))}}
1261   clang_analyzer_dump((int)(int)x);    // expected-warning{{(int) (reg_$0<uint x>)}}
1262   clang_analyzer_dump((int)(long)x);   // expected-warning{{(int) (reg_$0<uint x>)}}
1263   clang_analyzer_dump((int)(llong)x);  // expected-warning{{(int) (reg_$0<uint x>)}}
1264   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) ((unsigned char) (reg_$0<uint x>))}}
1265   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) ((unsigned short) (reg_$0<uint x>))}}
1266   clang_analyzer_dump((int)(uint)x);   // expected-warning{{(int) (reg_$0<uint x>)}}
1267   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{(int) (reg_$0<uint x>)}}
1268   clang_analyzer_dump((int)(ullong)x); // expected-warning{{(int) (reg_$0<uint x>)}}
1269 
1270   clang_analyzer_dump((long)(schar)x);  // expected-warning{{(long) ((signed char) (reg_$0<uint x>))}}
1271   clang_analyzer_dump((long)(char)x);   // expected-warning{{(long) ((char) (reg_$0<uint x>))}}
1272   clang_analyzer_dump((long)(short)x);  // expected-warning{{(long) ((short) (reg_$0<uint x>))}}
1273   clang_analyzer_dump((long)(int)x);    // expected-warning{{(long) (reg_$0<uint x>)}}
1274   clang_analyzer_dump((long)(long)x);   // expected-warning{{(long) (reg_$0<uint x>)}}
1275   clang_analyzer_dump((long)(llong)x);  // expected-warning{{(long) (reg_$0<uint x>)}}
1276   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(long) ((unsigned char) (reg_$0<uint x>))}}
1277   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(long) ((unsigned short) (reg_$0<uint x>))}}
1278   clang_analyzer_dump((long)(uint)x);   // expected-warning{{(long) (reg_$0<uint x>)}}
1279   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{(long) (reg_$0<uint x>)}}
1280   clang_analyzer_dump((long)(ullong)x); // expected-warning{{(long) (reg_$0<uint x>)}}
1281 
1282   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{(long long) ((signed char) (reg_$0<uint x>))}}
1283   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(long long) ((char) (reg_$0<uint x>))}}
1284   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(long long) ((short) (reg_$0<uint x>))}}
1285   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(long long) ((int) (reg_$0<uint x>))}}
1286   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long long) ((long) (reg_$0<uint x>))}}
1287   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{(long long) (reg_$0<uint x>)}}
1288   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(long long) ((unsigned char) (reg_$0<uint x>))}}
1289   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(long long) ((unsigned short) (reg_$0<uint x>))}}
1290   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(long long) (reg_$0<uint x>)}}
1291   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(long long) (reg_$0<uint x>)}}
1292   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{(long long) (reg_$0<uint x>)}}
1293 
1294   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1295   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1296   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1297   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1298   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1299   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1300   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1301   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1302   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1303   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1304   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1305 
1306   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) ((signed char) (reg_$0<uint x>))}}
1307   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) ((char) (reg_$0<uint x>))}}
1308   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{(unsigned short) (reg_$0<uint x>)}}
1309   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{(unsigned short) (reg_$0<uint x>)}}
1310   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{(unsigned short) (reg_$0<uint x>)}}
1311   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{(unsigned short) (reg_$0<uint x>)}}
1312   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) ((unsigned char) (reg_$0<uint x>))}}
1313   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<uint x>)}}
1314   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{(unsigned short) (reg_$0<uint x>)}}
1315   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{(unsigned short) (reg_$0<uint x>)}}
1316   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{(unsigned short) (reg_$0<uint x>)}}
1317 
1318   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(signed char) (reg_$0<uint x>)}}
1319   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(char) (reg_$0<uint x>)}}
1320   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(short) (reg_$0<uint x>)}}
1321   clang_analyzer_dump((uint)(int)x);    // expected-warning{{reg_$0<uint x>}}
1322   clang_analyzer_dump((uint)(long)x);   // expected-warning{{reg_$0<uint x>}}
1323   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{reg_$0<uint x>}}
1324   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<uint x>)}}
1325   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<uint x>)}}
1326   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{reg_$0<uint x>}}
1327   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{reg_$0<uint x>}}
1328   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{reg_$0<uint x>}}
1329 
1330   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(unsigned long) ((signed char) (reg_$0<uint x>))}}
1331   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(unsigned long) ((char) (reg_$0<uint x>))}}
1332   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(unsigned long) ((short) (reg_$0<uint x>))}}
1333   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{(unsigned long) (reg_$0<uint x>)}}
1334   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{(unsigned long) (reg_$0<uint x>)}}
1335   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{(unsigned long) (reg_$0<uint x>)}}
1336   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned long) ((unsigned char) (reg_$0<uint x>))}}
1337   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned long) ((unsigned short) (reg_$0<uint x>))}}
1338   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{(unsigned long) (reg_$0<uint x>)}}
1339   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<uint x>)}}
1340   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{(unsigned long) (reg_$0<uint x>)}}
1341 
1342   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) ((signed char) (reg_$0<uint x>))}}
1343   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) ((char) (reg_$0<uint x>))}}
1344   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) ((short) (reg_$0<uint x>))}}
1345   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) ((int) (reg_$0<uint x>))}}
1346   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) ((long) (reg_$0<uint x>))}}
1347   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{(unsigned long long) (reg_$0<uint x>)}}
1348   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) ((unsigned char) (reg_$0<uint x>))}}
1349   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) ((unsigned short) (reg_$0<uint x>))}}
1350   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) (reg_$0<uint x>)}}
1351   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) (reg_$0<uint x>)}}
1352   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{(unsigned long long) (reg_$0<uint x>)}}
1353 }
1354 
test_ulong(ulong x)1355 void test_ulong(ulong x) {
1356   clang_analyzer_dump(x); // expected-warning{{reg_$0<ulong x>}}
1357 
1358   clang_analyzer_dump((schar)x);  // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1359   clang_analyzer_dump((char)x);   // expected-warning{{(char) (reg_$0<ulong x>)}}
1360   clang_analyzer_dump((short)x);  // expected-warning{{(short) (reg_$0<ulong x>)}}
1361   clang_analyzer_dump((int)x);    // expected-warning{{(int) (reg_$0<ulong x>)}}
1362   clang_analyzer_dump((long)x);   // expected-warning{{(long) (reg_$0<ulong x>)}}
1363   clang_analyzer_dump((llong)x);  // expected-warning{{(long long) (reg_$0<ulong x>)}}
1364   clang_analyzer_dump((uchar)x);  // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1365   clang_analyzer_dump((ushort)x); // expected-warning{{(unsigned short) (reg_$0<ulong x>)}}
1366   clang_analyzer_dump((uint)x);   // expected-warning{{(unsigned int) (reg_$0<ulong x>)}}
1367   clang_analyzer_dump((ulong)x);  // expected-warning{{reg_$0<ulong x>}}
1368   clang_analyzer_dump((ullong)x); // expected-warning{{(unsigned long long) (reg_$0<ulong x>)}}
1369 
1370   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1371   clang_analyzer_dump((schar)(char)x);   // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1372   clang_analyzer_dump((schar)(short)x);  // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1373   clang_analyzer_dump((schar)(int)x);    // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1374   clang_analyzer_dump((schar)(long)x);   // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1375   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1376   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1377   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1378   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1379   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1380   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1381 
1382   clang_analyzer_dump((char)(schar)x);  // expected-warning{{(char) (reg_$0<ulong x>)}}
1383   clang_analyzer_dump((char)(char)x);   // expected-warning{{(char) (reg_$0<ulong x>)}}
1384   clang_analyzer_dump((char)(short)x);  // expected-warning{{(char) (reg_$0<ulong x>)}}
1385   clang_analyzer_dump((char)(int)x);    // expected-warning{{(char) (reg_$0<ulong x>)}}
1386   clang_analyzer_dump((char)(long)x);   // expected-warning{{(char) (reg_$0<ulong x>)}}
1387   clang_analyzer_dump((char)(llong)x);  // expected-warning{{(char) (reg_$0<ulong x>)}}
1388   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{(char) (reg_$0<ulong x>)}}
1389   clang_analyzer_dump((char)(ushort)x); // expected-warning{{(char) (reg_$0<ulong x>)}}
1390   clang_analyzer_dump((char)(uint)x);   // expected-warning{{(char) (reg_$0<ulong x>)}}
1391   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{(char) (reg_$0<ulong x>)}}
1392   clang_analyzer_dump((char)(ullong)x); // expected-warning{{(char) (reg_$0<ulong x>)}}
1393 
1394   clang_analyzer_dump((short)(schar)x);  // expected-warning{{(short) ((signed char) (reg_$0<ulong x>))}}
1395   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) ((char) (reg_$0<ulong x>))}}
1396   clang_analyzer_dump((short)(short)x);  // expected-warning{{(short) (reg_$0<ulong x>)}}
1397   clang_analyzer_dump((short)(int)x);    // expected-warning{{(short) (reg_$0<ulong x>)}}
1398   clang_analyzer_dump((short)(long)x);   // expected-warning{{(short) (reg_$0<ulong x>)}}
1399   clang_analyzer_dump((short)(llong)x);  // expected-warning{{(short) (reg_$0<ulong x>)}}
1400   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) ((unsigned char) (reg_$0<ulong x>))}}
1401   clang_analyzer_dump((short)(ushort)x); // expected-warning{{(short) (reg_$0<ulong x>)}}
1402   clang_analyzer_dump((short)(uint)x);   // expected-warning{{(short) (reg_$0<ulong x>)}}
1403   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{(short) (reg_$0<ulong x>)}}
1404   clang_analyzer_dump((short)(ullong)x); // expected-warning{{(short) (reg_$0<ulong x>)}}
1405 
1406   clang_analyzer_dump((int)(schar)x);  // expected-warning{{(int) ((signed char) (reg_$0<ulong x>))}}
1407   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) ((char) (reg_$0<ulong x>))}}
1408   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) ((short) (reg_$0<ulong x>))}}
1409   clang_analyzer_dump((int)(int)x);    // expected-warning{{(int) (reg_$0<ulong x>)}}
1410   clang_analyzer_dump((int)(long)x);   // expected-warning{{(int) (reg_$0<ulong x>)}}
1411   clang_analyzer_dump((int)(llong)x);  // expected-warning{{(int) (reg_$0<ulong x>)}}
1412   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) ((unsigned char) (reg_$0<ulong x>))}}
1413   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) ((unsigned short) (reg_$0<ulong x>))}}
1414   clang_analyzer_dump((int)(uint)x);   // expected-warning{{(int) (reg_$0<ulong x>)}}
1415   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{(int) (reg_$0<ulong x>)}}
1416   clang_analyzer_dump((int)(ullong)x); // expected-warning{{(int) (reg_$0<ulong x>)}}
1417 
1418   clang_analyzer_dump((long)(schar)x);  // expected-warning{{(long) ((signed char) (reg_$0<ulong x>))}}
1419   clang_analyzer_dump((long)(char)x);   // expected-warning{{(long) ((char) (reg_$0<ulong x>))}}
1420   clang_analyzer_dump((long)(short)x);  // expected-warning{{(long) ((short) (reg_$0<ulong x>))}}
1421   clang_analyzer_dump((long)(int)x);    // expected-warning{{(long) (reg_$0<ulong x>)}}
1422   clang_analyzer_dump((long)(long)x);   // expected-warning{{(long) (reg_$0<ulong x>)}}
1423   clang_analyzer_dump((long)(llong)x);  // expected-warning{{(long) (reg_$0<ulong x>)}}
1424   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(long) ((unsigned char) (reg_$0<ulong x>))}}
1425   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(long) ((unsigned short) (reg_$0<ulong x>))}}
1426   clang_analyzer_dump((long)(uint)x);   // expected-warning{{(long) (reg_$0<ulong x>)}}
1427   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{(long) (reg_$0<ulong x>)}}
1428   clang_analyzer_dump((long)(ullong)x); // expected-warning{{(long) (reg_$0<ulong x>)}}
1429 
1430   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{(long long) ((signed char) (reg_$0<ulong x>))}}
1431   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(long long) ((char) (reg_$0<ulong x>))}}
1432   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(long long) ((short) (reg_$0<ulong x>))}}
1433   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(long long) ((int) (reg_$0<ulong x>))}}
1434   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long long) ((long) (reg_$0<ulong x>))}}
1435   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{(long long) (reg_$0<ulong x>)}}
1436   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(long long) ((unsigned char) (reg_$0<ulong x>))}}
1437   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(long long) ((unsigned short) (reg_$0<ulong x>))}}
1438   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(long long) (reg_$0<ulong x>)}}
1439   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(long long) (reg_$0<ulong x>)}}
1440   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{(long long) (reg_$0<ulong x>)}}
1441 
1442   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1443   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1444   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1445   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1446   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1447   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1448   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1449   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1450   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1451   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1452   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1453 
1454   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) ((signed char) (reg_$0<ulong x>))}}
1455   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) ((char) (reg_$0<ulong x>))}}
1456   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{(unsigned short) (reg_$0<ulong x>)}}
1457   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{(unsigned short) (reg_$0<ulong x>)}}
1458   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{(unsigned short) (reg_$0<ulong x>)}}
1459   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{(unsigned short) (reg_$0<ulong x>)}}
1460   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) ((unsigned char) (reg_$0<ulong x>))}}
1461   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<ulong x>)}}
1462   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{(unsigned short) (reg_$0<ulong x>)}}
1463   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{(unsigned short) (reg_$0<ulong x>)}}
1464   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{(unsigned short) (reg_$0<ulong x>)}}
1465 
1466   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(unsigned int) ((signed char) (reg_$0<ulong x>))}}
1467   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(unsigned int) ((char) (reg_$0<ulong x>))}}
1468   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(unsigned int) ((short) (reg_$0<ulong x>))}}
1469   clang_analyzer_dump((uint)(int)x);    // expected-warning{{(unsigned int) (reg_$0<ulong x>)}}
1470   clang_analyzer_dump((uint)(long)x);   // expected-warning{{(unsigned int) (reg_$0<ulong x>)}}
1471   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{(unsigned int) (reg_$0<ulong x>)}}
1472   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned int) ((unsigned char) (reg_$0<ulong x>))}}
1473   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned int) ((unsigned short) (reg_$0<ulong x>))}}
1474   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<ulong x>)}}
1475   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{(unsigned int) (reg_$0<ulong x>)}}
1476   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{(unsigned int) (reg_$0<ulong x>)}}
1477 
1478   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(signed char) (reg_$0<ulong x>)}}
1479   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(char) (reg_$0<ulong x>)}}
1480   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(short) (reg_$0<ulong x>)}}
1481   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{reg_$0<ulong x>}}
1482   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{reg_$0<ulong x>}}
1483   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{reg_$0<ulong x>}}
1484   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<ulong x>)}}
1485   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<ulong x>)}}
1486   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{reg_$0<ulong x>}}
1487   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{reg_$0<ulong x>}}
1488   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{reg_$0<ulong x>}}
1489 
1490   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) ((signed char) (reg_$0<ulong x>))}}
1491   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) ((char) (reg_$0<ulong x>))}}
1492   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) ((short) (reg_$0<ulong x>))}}
1493   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) ((int) (reg_$0<ulong x>))}}
1494   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) ((long) (reg_$0<ulong x>))}}
1495   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{(unsigned long long) (reg_$0<ulong x>)}}
1496   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) ((unsigned char) (reg_$0<ulong x>))}}
1497   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) ((unsigned short) (reg_$0<ulong x>))}}
1498   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) (reg_$0<ulong x>)}}
1499   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) (reg_$0<ulong x>)}}
1500   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{(unsigned long long) (reg_$0<ulong x>)}}
1501 }
1502 
test_llong(ullong x)1503 void test_llong(ullong x) {
1504   clang_analyzer_dump(x); // expected-warning{{reg_$0<ullong x>}}
1505 
1506   clang_analyzer_dump((schar)x);  // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1507   clang_analyzer_dump((char)x);   // expected-warning{{(char) (reg_$0<ullong x>)}}
1508   clang_analyzer_dump((short)x);  // expected-warning{{(short) (reg_$0<ullong x>)}}
1509   clang_analyzer_dump((int)x);    // expected-warning{{(int) (reg_$0<ullong x>)}}
1510   clang_analyzer_dump((long)x);   // expected-warning{{(long) (reg_$0<ullong x>)}}
1511   clang_analyzer_dump((llong)x);  // expected-warning{{(long long) (reg_$0<ullong x>)}}
1512   clang_analyzer_dump((uchar)x);  // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1513   clang_analyzer_dump((ushort)x); // expected-warning{{(unsigned short) (reg_$0<ullong x>)}}
1514   clang_analyzer_dump((uint)x);   // expected-warning{{(unsigned int) (reg_$0<ullong x>)}}
1515   clang_analyzer_dump((ulong)x);  // expected-warning{{(unsigned long) (reg_$0<ullong x>)}}
1516   clang_analyzer_dump((ullong)x); // expected-warning{{reg_$0<ullong x>}}
1517 
1518   clang_analyzer_dump((schar)(schar)x);  // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1519   clang_analyzer_dump((schar)(char)x);   // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1520   clang_analyzer_dump((schar)(short)x);  // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1521   clang_analyzer_dump((schar)(int)x);    // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1522   clang_analyzer_dump((schar)(long)x);   // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1523   clang_analyzer_dump((schar)(llong)x);  // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1524   clang_analyzer_dump((schar)(uchar)x);  // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1525   clang_analyzer_dump((schar)(ushort)x); // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1526   clang_analyzer_dump((schar)(uint)x);   // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1527   clang_analyzer_dump((schar)(ulong)x);  // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1528   clang_analyzer_dump((schar)(ullong)x); // expected-warning{{(signed char) (reg_$0<ullong x>)}}
1529 
1530   clang_analyzer_dump((char)(schar)x);  // expected-warning{{(char) (reg_$0<ullong x>)}}
1531   clang_analyzer_dump((char)(char)x);   // expected-warning{{(char) (reg_$0<ullong x>)}}
1532   clang_analyzer_dump((char)(short)x);  // expected-warning{{(char) (reg_$0<ullong x>)}}
1533   clang_analyzer_dump((char)(int)x);    // expected-warning{{(char) (reg_$0<ullong x>)}}
1534   clang_analyzer_dump((char)(long)x);   // expected-warning{{(char) (reg_$0<ullong x>)}}
1535   clang_analyzer_dump((char)(llong)x);  // expected-warning{{(char) (reg_$0<ullong x>)}}
1536   clang_analyzer_dump((char)(uchar)x);  // expected-warning{{(char) (reg_$0<ullong x>)}}
1537   clang_analyzer_dump((char)(ushort)x); // expected-warning{{(char) (reg_$0<ullong x>)}}
1538   clang_analyzer_dump((char)(uint)x);   // expected-warning{{(char) (reg_$0<ullong x>)}}
1539   clang_analyzer_dump((char)(ulong)x);  // expected-warning{{(char) (reg_$0<ullong x>)}}
1540   clang_analyzer_dump((char)(ullong)x); // expected-warning{{(char) (reg_$0<ullong x>)}}
1541 
1542   clang_analyzer_dump((short)(schar)x);  // expected-warning{{(short) ((signed char) (reg_$0<ullong x>))}}
1543   clang_analyzer_dump((short)(char)x);   // expected-warning{{(short) ((char) (reg_$0<ullong x>))}}
1544   clang_analyzer_dump((short)(short)x);  // expected-warning{{(short) (reg_$0<ullong x>)}}
1545   clang_analyzer_dump((short)(int)x);    // expected-warning{{(short) (reg_$0<ullong x>)}}
1546   clang_analyzer_dump((short)(long)x);   // expected-warning{{(short) (reg_$0<ullong x>)}}
1547   clang_analyzer_dump((short)(llong)x);  // expected-warning{{(short) (reg_$0<ullong x>)}}
1548   clang_analyzer_dump((short)(uchar)x);  // expected-warning{{(short) ((unsigned char) (reg_$0<ullong x>))}}
1549   clang_analyzer_dump((short)(ushort)x); // expected-warning{{(short) (reg_$0<ullong x>)}}
1550   clang_analyzer_dump((short)(uint)x);   // expected-warning{{(short) (reg_$0<ullong x>)}}
1551   clang_analyzer_dump((short)(ulong)x);  // expected-warning{{(short) (reg_$0<ullong x>)}}
1552   clang_analyzer_dump((short)(ullong)x); // expected-warning{{(short) (reg_$0<ullong x>)}}
1553 
1554   clang_analyzer_dump((int)(schar)x);  // expected-warning{{(int) ((signed char) (reg_$0<ullong x>))}}
1555   clang_analyzer_dump((int)(char)x);   // expected-warning{{(int) ((char) (reg_$0<ullong x>))}}
1556   clang_analyzer_dump((int)(short)x);  // expected-warning{{(int) ((short) (reg_$0<ullong x>))}}
1557   clang_analyzer_dump((int)(int)x);    // expected-warning{{(int) (reg_$0<ullong x>)}}
1558   clang_analyzer_dump((int)(long)x);   // expected-warning{{(int) (reg_$0<ullong x>)}}
1559   clang_analyzer_dump((int)(llong)x);  // expected-warning{{(int) (reg_$0<ullong x>)}}
1560   clang_analyzer_dump((int)(uchar)x);  // expected-warning{{(int) ((unsigned char) (reg_$0<ullong x>))}}
1561   clang_analyzer_dump((int)(ushort)x); // expected-warning{{(int) ((unsigned short) (reg_$0<ullong x>))}}
1562   clang_analyzer_dump((int)(uint)x);   // expected-warning{{(int) (reg_$0<ullong x>)}}
1563   clang_analyzer_dump((int)(ulong)x);  // expected-warning{{(int) (reg_$0<ullong x>)}}
1564   clang_analyzer_dump((int)(ullong)x); // expected-warning{{(int) (reg_$0<ullong x>)}}
1565 
1566   clang_analyzer_dump((long)(schar)x);  // expected-warning{{(long) ((signed char) (reg_$0<ullong x>))}}
1567   clang_analyzer_dump((long)(char)x);   // expected-warning{{(long) ((char) (reg_$0<ullong x>))}}
1568   clang_analyzer_dump((long)(short)x);  // expected-warning{{(long) ((short) (reg_$0<ullong x>))}}
1569   clang_analyzer_dump((long)(int)x);    // expected-warning{{(long) (reg_$0<ullong x>)}}
1570   clang_analyzer_dump((long)(long)x);   // expected-warning{{(long) (reg_$0<ullong x>)}}
1571   clang_analyzer_dump((long)(llong)x);  // expected-warning{{(long) (reg_$0<ullong x>)}}
1572   clang_analyzer_dump((long)(uchar)x);  // expected-warning{{(long) ((unsigned char) (reg_$0<ullong x>))}}
1573   clang_analyzer_dump((long)(ushort)x); // expected-warning{{(long) ((unsigned short) (reg_$0<ullong x>))}}
1574   clang_analyzer_dump((long)(uint)x);   // expected-warning{{(long) (reg_$0<ullong x>)}}
1575   clang_analyzer_dump((long)(ulong)x);  // expected-warning{{(long) (reg_$0<ullong x>)}}
1576   clang_analyzer_dump((long)(ullong)x); // expected-warning{{(long) (reg_$0<ullong x>)}}
1577 
1578   clang_analyzer_dump((llong)(schar)x);  // expected-warning{{(long long) ((signed char) (reg_$0<ullong x>))}}
1579   clang_analyzer_dump((llong)(char)x);   // expected-warning{{(long long) ((char) (reg_$0<ullong x>))}}
1580   clang_analyzer_dump((llong)(short)x);  // expected-warning{{(long long) ((short) (reg_$0<ullong x>))}}
1581   clang_analyzer_dump((llong)(int)x);    // expected-warning{{(long long) ((int) (reg_$0<ullong x>))}}
1582   clang_analyzer_dump((llong)(long)x);   // expected-warning{{(long long) ((long) (reg_$0<ullong x>))}}
1583   clang_analyzer_dump((llong)(llong)x);  // expected-warning{{(long long) (reg_$0<ullong x>)}}
1584   clang_analyzer_dump((llong)(uchar)x);  // expected-warning{{(long long) ((unsigned char) (reg_$0<ullong x>))}}
1585   clang_analyzer_dump((llong)(ushort)x); // expected-warning{{(long long) ((unsigned short) (reg_$0<ullong x>))}}
1586   clang_analyzer_dump((llong)(uint)x);   // expected-warning{{(long long) ((unsigned int) (reg_$0<ullong x>))}}
1587   clang_analyzer_dump((llong)(ulong)x);  // expected-warning{{(long long) ((unsigned long) (reg_$0<ullong x>))}}
1588   clang_analyzer_dump((llong)(ullong)x); // expected-warning{{(long long) (reg_$0<ullong x>)}}
1589 
1590   clang_analyzer_dump((uchar)(schar)x);  // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1591   clang_analyzer_dump((uchar)(char)x);   // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1592   clang_analyzer_dump((uchar)(short)x);  // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1593   clang_analyzer_dump((uchar)(int)x);    // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1594   clang_analyzer_dump((uchar)(long)x);   // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1595   clang_analyzer_dump((uchar)(llong)x);  // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1596   clang_analyzer_dump((uchar)(uchar)x);  // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1597   clang_analyzer_dump((uchar)(ushort)x); // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1598   clang_analyzer_dump((uchar)(uint)x);   // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1599   clang_analyzer_dump((uchar)(ulong)x);  // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1600   clang_analyzer_dump((uchar)(ullong)x); // expected-warning{{(unsigned char) (reg_$0<ullong x>)}}
1601 
1602   clang_analyzer_dump((ushort)(schar)x);  // expected-warning{{(unsigned short) ((signed char) (reg_$0<ullong x>))}}
1603   clang_analyzer_dump((ushort)(char)x);   // expected-warning{{(unsigned short) ((char) (reg_$0<ullong x>))}}
1604   clang_analyzer_dump((ushort)(short)x);  // expected-warning{{(unsigned short) (reg_$0<ullong x>)}}
1605   clang_analyzer_dump((ushort)(int)x);    // expected-warning{{(unsigned short) (reg_$0<ullong x>)}}
1606   clang_analyzer_dump((ushort)(long)x);   // expected-warning{{(unsigned short) (reg_$0<ullong x>)}}
1607   clang_analyzer_dump((ushort)(llong)x);  // expected-warning{{(unsigned short) (reg_$0<ullong x>)}}
1608   clang_analyzer_dump((ushort)(uchar)x);  // expected-warning{{(unsigned short) ((unsigned char) (reg_$0<ullong x>))}}
1609   clang_analyzer_dump((ushort)(ushort)x); // expected-warning{{(unsigned short) (reg_$0<ullong x>)}}
1610   clang_analyzer_dump((ushort)(uint)x);   // expected-warning{{(unsigned short) (reg_$0<ullong x>)}}
1611   clang_analyzer_dump((ushort)(ulong)x);  // expected-warning{{(unsigned short) (reg_$0<ullong x>)}}
1612   clang_analyzer_dump((ushort)(ullong)x); // expected-warning{{(unsigned short) (reg_$0<ullong x>)}}
1613 
1614   clang_analyzer_dump((uint)(schar)x);  // expected-warning{{(unsigned int) ((signed char) (reg_$0<ullong x>))}}
1615   clang_analyzer_dump((uint)(char)x);   // expected-warning{{(unsigned int) ((char) (reg_$0<ullong x>))}}
1616   clang_analyzer_dump((uint)(short)x);  // expected-warning{{(unsigned int) ((short) (reg_$0<ullong x>))}}
1617   clang_analyzer_dump((uint)(int)x);    // expected-warning{{(unsigned int) (reg_$0<ullong x>)}}
1618   clang_analyzer_dump((uint)(long)x);   // expected-warning{{(unsigned int) (reg_$0<ullong x>)}}
1619   clang_analyzer_dump((uint)(llong)x);  // expected-warning{{(unsigned int) (reg_$0<ullong x>)}}
1620   clang_analyzer_dump((uint)(uchar)x);  // expected-warning{{(unsigned int) ((unsigned char) (reg_$0<ullong x>))}}
1621   clang_analyzer_dump((uint)(ushort)x); // expected-warning{{(unsigned int) ((unsigned short) (reg_$0<ullong x>))}}
1622   clang_analyzer_dump((uint)(uint)x);   // expected-warning{{(unsigned int) (reg_$0<ullong x>)}}
1623   clang_analyzer_dump((uint)(ulong)x);  // expected-warning{{(unsigned int) (reg_$0<ullong x>)}}
1624   clang_analyzer_dump((uint)(ullong)x); // expected-warning{{(unsigned int) (reg_$0<ullong x>)}}
1625 
1626   clang_analyzer_dump((ulong)(schar)x);  // expected-warning{{(unsigned long) ((signed char) (reg_$0<ullong x>))}}
1627   clang_analyzer_dump((ulong)(char)x);   // expected-warning{{(unsigned long) ((char) (reg_$0<ullong x>))}}
1628   clang_analyzer_dump((ulong)(short)x);  // expected-warning{{(unsigned long) ((short) (reg_$0<ullong x>))}}
1629   clang_analyzer_dump((ulong)(int)x);    // expected-warning{{(unsigned long) (reg_$0<ullong x>)}}
1630   clang_analyzer_dump((ulong)(long)x);   // expected-warning{{(unsigned long) (reg_$0<ullong x>)}}
1631   clang_analyzer_dump((ulong)(llong)x);  // expected-warning{{(unsigned long) (reg_$0<ullong x>)}}
1632   clang_analyzer_dump((ulong)(uchar)x);  // expected-warning{{(unsigned long) ((unsigned char) (reg_$0<ullong x>))}}
1633   clang_analyzer_dump((ulong)(ushort)x); // expected-warning{{(unsigned long) ((unsigned short) (reg_$0<ullong x>))}}
1634   clang_analyzer_dump((ulong)(uint)x);   // expected-warning{{(unsigned long) (reg_$0<ullong x>)}}
1635   clang_analyzer_dump((ulong)(ulong)x);  // expected-warning{{(unsigned long) (reg_$0<ullong x>)}}
1636   clang_analyzer_dump((ulong)(ullong)x); // expected-warning{{(unsigned long) (reg_$0<ullong x>)}}
1637 
1638   clang_analyzer_dump((ullong)(schar)x);  // expected-warning{{(unsigned long long) ((signed char) (reg_$0<ullong x>))}}
1639   clang_analyzer_dump((ullong)(char)x);   // expected-warning{{(unsigned long long) ((char) (reg_$0<ullong x>))}}
1640   clang_analyzer_dump((ullong)(short)x);  // expected-warning{{(unsigned long long) ((short) (reg_$0<ullong x>))}}
1641   clang_analyzer_dump((ullong)(int)x);    // expected-warning{{(unsigned long long) ((int) (reg_$0<ullong x>))}}
1642   clang_analyzer_dump((ullong)(long)x);   // expected-warning{{(unsigned long long) ((long) (reg_$0<ullong x>))}}
1643   clang_analyzer_dump((ullong)(llong)x);  // expected-warning{{reg_$0<ullong x>}}
1644   clang_analyzer_dump((ullong)(uchar)x);  // expected-warning{{(unsigned long long) ((unsigned char) (reg_$0<ullong x>))}}
1645   clang_analyzer_dump((ullong)(ushort)x); // expected-warning{{(unsigned long long) ((unsigned short) (reg_$0<ullong x>))}}
1646   clang_analyzer_dump((ullong)(uint)x);   // expected-warning{{(unsigned long long) ((unsigned int) (reg_$0<ullong x>))}}
1647   clang_analyzer_dump((ullong)(ulong)x);  // expected-warning{{(unsigned long long) ((unsigned long) (reg_$0<ullong x>))}}
1648   clang_analyzer_dump((ullong)(ullong)x); // expected-warning{{reg_$0<ullong x>}}
1649 }
1650