1 | // RUN: %clang_cc1 -triple i686-pc-linux-gnu -fsyntax-only -verify %s -Wabsolute-value -Wno-int-conversion |
2 | // RUN: %clang_cc1 -triple i686-pc-linux-gnu -fsyntax-only %s -Wabsolute-value -Wno-int-conversion -fdiagnostics-parseable-fixits 2>&1 | FileCheck %s |
3 | |
4 | int abs(int); |
5 | long int labs(long int); |
6 | long long int llabs(long long int); |
7 | |
8 | float fabsf(float); |
9 | double fabs(double); |
10 | long double fabsl(long double); |
11 | |
12 | float cabsf(float _Complex); |
13 | double cabs(double _Complex); |
14 | long double cabsl(long double _Complex); |
15 | |
16 | void test_int(int x) { |
17 | (void)abs(x); |
18 | (void)labs(x); |
19 | (void)llabs(x); |
20 | |
21 | (void)fabsf(x); |
22 | // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of integer type}} |
23 | // expected-note@-2 {{use function 'abs' instead}} |
24 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"abs" |
25 | (void)fabs(x); |
26 | // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of integer type}} |
27 | // expected-note@-2 {{use function 'abs' instead}} |
28 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"abs" |
29 | (void)fabsl(x); |
30 | // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of integer type}} |
31 | // expected-note@-2 {{use function 'abs' instead}} |
32 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"abs" |
33 | |
34 | (void)cabsf(x); |
35 | // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of integer type}} |
36 | // expected-note@-2 {{use function 'abs' instead}} |
37 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"abs" |
38 | (void)cabs(x); |
39 | // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of integer type}} |
40 | // expected-note@-2 {{use function 'abs' instead}} |
41 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"abs" |
42 | (void)cabsl(x); |
43 | // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of integer type}} |
44 | // expected-note@-2 {{use function 'abs' instead}} |
45 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"abs" |
46 | |
47 | (void)__builtin_abs(x); |
48 | (void)__builtin_labs(x); |
49 | (void)__builtin_llabs(x); |
50 | |
51 | (void)__builtin_fabsf(x); |
52 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of integer type}} |
53 | // expected-note@-2 {{use function '__builtin_abs' instead}} |
54 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_abs" |
55 | (void)__builtin_fabs(x); |
56 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of integer type}} |
57 | // expected-note@-2 {{use function '__builtin_abs' instead}} |
58 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_abs" |
59 | (void)__builtin_fabsl(x); |
60 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of integer type}} |
61 | // expected-note@-2 {{use function '__builtin_abs' instead}} |
62 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_abs" |
63 | |
64 | (void)__builtin_cabsf(x); |
65 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of integer type}} |
66 | // expected-note@-2 {{use function '__builtin_abs' instead}} |
67 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_abs" |
68 | (void)__builtin_cabs(x); |
69 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of integer type}} |
70 | // expected-note@-2 {{use function '__builtin_abs' instead}} |
71 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_abs" |
72 | (void)__builtin_cabsl(x); |
73 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of integer type}} |
74 | // expected-note@-2 {{use function '__builtin_abs' instead}} |
75 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_abs" |
76 | } |
77 | |
78 | void test_long(long x) { |
79 | (void)abs(x); // no warning - int and long are same length for this target |
80 | (void)labs(x); |
81 | (void)llabs(x); |
82 | |
83 | (void)fabsf(x); |
84 | // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of integer type}} |
85 | // expected-note@-2 {{use function 'labs' instead}} |
86 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"labs" |
87 | (void)fabs(x); |
88 | // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of integer type}} |
89 | // expected-note@-2 {{use function 'labs' instead}} |
90 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"labs" |
91 | (void)fabsl(x); |
92 | // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of integer type}} |
93 | // expected-note@-2 {{use function 'labs' instead}} |
94 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"labs" |
95 | |
96 | (void)cabsf(x); |
97 | // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of integer type}} |
98 | // expected-note@-2 {{use function 'labs' instead}} |
99 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"labs" |
100 | (void)cabs(x); |
101 | // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of integer type}} |
102 | // expected-note@-2 {{use function 'labs' instead}} |
103 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"labs" |
104 | (void)cabsl(x); |
105 | // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of integer type}} |
106 | // expected-note@-2 {{use function 'labs' instead}} |
107 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"labs" |
108 | |
109 | (void)__builtin_abs(x); // no warning - int and long are same length for |
110 | // this target |
111 | (void)__builtin_labs(x); |
112 | (void)__builtin_llabs(x); |
113 | |
114 | (void)__builtin_fabsf(x); |
115 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of integer type}} |
116 | // expected-note@-2 {{use function '__builtin_labs' instead}} |
117 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_labs" |
118 | (void)__builtin_fabs(x); |
119 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of integer type}} |
120 | // expected-note@-2 {{use function '__builtin_labs' instead}} |
121 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_labs" |
122 | (void)__builtin_fabsl(x); |
123 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of integer type}} |
124 | // expected-note@-2 {{use function '__builtin_labs' instead}} |
125 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_labs" |
126 | |
127 | (void)__builtin_cabsf(x); |
128 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of integer type}} |
129 | // expected-note@-2 {{use function '__builtin_labs' instead}} |
130 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_labs" |
131 | (void)__builtin_cabs(x); |
132 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of integer type}} |
133 | // expected-note@-2 {{use function '__builtin_labs' instead}} |
134 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_labs" |
135 | (void)__builtin_cabsl(x); |
136 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of integer type}} |
137 | // expected-note@-2 {{use function '__builtin_labs' instead}} |
138 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_labs" |
139 | } |
140 | |
141 | void test_long_long(long long x) { |
142 | (void)abs(x); |
143 | // expected-warning@-1{{absolute value function 'abs' given an argument of type 'long long' but has parameter of type 'int' which may cause truncation of value}} |
144 | // expected-note@-2{{use function 'llabs' instead}} |
145 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"llabs" |
146 | (void)labs(x); |
147 | // expected-warning@-1{{absolute value function 'labs' given an argument of type 'long long' but has parameter of type 'long' which may cause truncation of value}} |
148 | // expected-note@-2{{use function 'llabs' instead}} |
149 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"llabs" |
150 | (void)llabs(x); |
151 | |
152 | (void)fabsf(x); |
153 | // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of integer type}} |
154 | // expected-note@-2 {{use function 'llabs' instead}} |
155 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"llabs" |
156 | (void)fabs(x); |
157 | // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of integer type}} |
158 | // expected-note@-2 {{use function 'llabs' instead}} |
159 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"llabs" |
160 | (void)fabsl(x); |
161 | // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of integer type}} |
162 | // expected-note@-2 {{use function 'llabs' instead}} |
163 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"llabs" |
164 | |
165 | (void)cabsf(x); |
166 | // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of integer type}} |
167 | // expected-note@-2 {{use function 'llabs' instead}} |
168 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"llabs" |
169 | (void)cabs(x); |
170 | // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of integer type}} |
171 | // expected-note@-2 {{use function 'llabs' instead}} |
172 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"llabs" |
173 | (void)cabsl(x); |
174 | // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of integer type}} |
175 | // expected-note@-2 {{use function 'llabs' instead}} |
176 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"llabs" |
177 | |
178 | (void)__builtin_abs(x); |
179 | // expected-warning@-1{{absolute value function '__builtin_abs' given an argument of type 'long long' but has parameter of type 'int' which may cause truncation of value}} |
180 | // expected-note@-2{{use function '__builtin_llabs' instead}} |
181 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"__builtin_llabs" |
182 | (void)__builtin_labs(x); |
183 | // expected-warning@-1{{absolute value function '__builtin_labs' given an argument of type 'long long' but has parameter of type 'long' which may cause truncation of value}} |
184 | // expected-note@-2{{use function '__builtin_llabs' instead}} |
185 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_llabs" |
186 | (void)__builtin_llabs(x); |
187 | |
188 | (void)__builtin_fabsf(x); |
189 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of integer type}} |
190 | // expected-note@-2 {{use function '__builtin_llabs' instead}} |
191 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_llabs" |
192 | (void)__builtin_fabs(x); |
193 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of integer type}} |
194 | // expected-note@-2 {{use function '__builtin_llabs' instead}} |
195 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_llabs" |
196 | (void)__builtin_fabsl(x); |
197 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of integer type}} |
198 | // expected-note@-2 {{use function '__builtin_llabs' instead}} |
199 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_llabs" |
200 | |
201 | (void)__builtin_cabsf(x); |
202 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of integer type}} |
203 | // expected-note@-2 {{use function '__builtin_llabs' instead}} |
204 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_llabs" |
205 | (void)__builtin_cabs(x); |
206 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of integer type}} |
207 | // expected-note@-2 {{use function '__builtin_llabs' instead}} |
208 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_llabs" |
209 | (void)__builtin_cabsl(x); |
210 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of integer type}} |
211 | // expected-note@-2 {{use function '__builtin_llabs' instead}} |
212 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_llabs" |
213 | } |
214 | |
215 | void test_float(float x) { |
216 | (void)abs(x); |
217 | // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of floating point type}} |
218 | // expected-note@-2 {{use function 'fabsf' instead}} |
219 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"fabsf" |
220 | (void)labs(x); |
221 | // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of floating point type}} |
222 | // expected-note@-2 {{use function 'fabsf' instead}} |
223 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"fabsf" |
224 | (void)llabs(x); |
225 | // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of floating point type}} |
226 | // expected-note@-2 {{use function 'fabsf' instead}} |
227 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabsf" |
228 | |
229 | (void)fabsf(x); |
230 | (void)fabs(x); |
231 | (void)fabsl(x); |
232 | |
233 | (void)cabsf(x); |
234 | // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of floating point type}} |
235 | // expected-note@-2 {{use function 'fabsf' instead}} |
236 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabsf" |
237 | (void)cabs(x); |
238 | // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of floating point type}} |
239 | // expected-note@-2 {{use function 'fabsf' instead}} |
240 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"fabsf" |
241 | (void)cabsl(x); |
242 | // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of floating point type}} |
243 | // expected-note@-2 {{use function 'fabsf' instead}} |
244 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabsf" |
245 | |
246 | (void)__builtin_abs(x); |
247 | // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of floating point type}} |
248 | // expected-note@-2 {{use function '__builtin_fabsf' instead}} |
249 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"__builtin_fabsf" |
250 | (void)__builtin_labs(x); |
251 | // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of floating point type}} |
252 | // expected-note@-2 {{use function '__builtin_fabsf' instead}} |
253 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_fabsf" |
254 | (void)__builtin_llabs(x); |
255 | // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of floating point type}} |
256 | // expected-note@-2 {{use function '__builtin_fabsf' instead}} |
257 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabsf" |
258 | |
259 | (void)__builtin_fabsf(x); |
260 | (void)__builtin_fabs(x); |
261 | (void)__builtin_fabsl(x); |
262 | |
263 | (void)__builtin_cabsf(x); |
264 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of floating point type}} |
265 | // expected-note@-2 {{use function '__builtin_fabsf' instead}} |
266 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabsf" |
267 | (void)__builtin_cabs(x); |
268 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of floating point type}} |
269 | // expected-note@-2 {{use function '__builtin_fabsf' instead}} |
270 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_fabsf" |
271 | (void)__builtin_cabsl(x); |
272 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of floating point type}} |
273 | // expected-note@-2 {{use function '__builtin_fabsf' instead}} |
274 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabsf" |
275 | } |
276 | |
277 | void test_double(double x) { |
278 | (void)abs(x); |
279 | // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of floating point type}} |
280 | // expected-note@-2 {{use function 'fabs' instead}} |
281 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"fabs" |
282 | (void)labs(x); |
283 | // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of floating point type}} |
284 | // expected-note@-2 {{use function 'fabs' instead}} |
285 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"fabs" |
286 | (void)llabs(x); |
287 | // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of floating point type}} |
288 | // expected-note@-2 {{use function 'fabs' instead}} |
289 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabs" |
290 | |
291 | (void)fabsf(x); |
292 | // expected-warning@-1{{absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value}} |
293 | // expected-note@-2{{use function 'fabs' instead}} |
294 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabs" |
295 | (void)fabs(x); |
296 | (void)fabsl(x); |
297 | |
298 | (void)cabsf(x); |
299 | // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of floating point type}} |
300 | // expected-note@-2 {{use function 'fabs' instead}} |
301 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabs" |
302 | (void)cabs(x); |
303 | // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of floating point type}} |
304 | // expected-note@-2 {{use function 'fabs' instead}} |
305 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"fabs" |
306 | (void)cabsl(x); |
307 | // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of floating point type}} |
308 | // expected-note@-2 {{use function 'fabs' instead}} |
309 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabs" |
310 | |
311 | (void)__builtin_abs(x); |
312 | // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of floating point type}} |
313 | // expected-note@-2 {{use function '__builtin_fabs' instead}} |
314 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"__builtin_fabs" |
315 | (void)__builtin_labs(x); |
316 | // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of floating point type}} |
317 | // expected-note@-2 {{use function '__builtin_fabs' instead}} |
318 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_fabs" |
319 | (void)__builtin_llabs(x); |
320 | // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of floating point type}} |
321 | // expected-note@-2 {{use function '__builtin_fabs' instead}} |
322 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabs" |
323 | |
324 | (void)__builtin_fabsf(x); |
325 | // expected-warning@-1{{absolute value function '__builtin_fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value}} |
326 | // expected-note@-2{{use function '__builtin_fabs' instead}} |
327 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabs" |
328 | (void)__builtin_fabs(x); |
329 | (void)__builtin_fabsl(x); |
330 | |
331 | (void)__builtin_cabsf(x); |
332 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of floating point type}} |
333 | // expected-note@-2 {{use function '__builtin_fabs' instead}} |
334 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabs" |
335 | (void)__builtin_cabs(x); |
336 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of floating point type}} |
337 | // expected-note@-2 {{use function '__builtin_fabs' instead}} |
338 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_fabs" |
339 | (void)__builtin_cabsl(x); |
340 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of floating point type}} |
341 | // expected-note@-2 {{use function '__builtin_fabs' instead}} |
342 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabs" |
343 | } |
344 | |
345 | void test_long_double(long double x) { |
346 | (void)abs(x); |
347 | // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of floating point type}} |
348 | // expected-note@-2 {{use function 'fabsl' instead}} |
349 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"fabsl" |
350 | (void)labs(x); |
351 | // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of floating point type}} |
352 | // expected-note@-2 {{use function 'fabsl' instead}} |
353 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"fabsl" |
354 | (void)llabs(x); |
355 | // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of floating point type}} |
356 | // expected-note@-2 {{use function 'fabsl' instead}} |
357 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabsl" |
358 | |
359 | (void)fabsf(x); |
360 | // expected-warning@-1{{absolute value function 'fabsf' given an argument of type 'long double' but has parameter of type 'float' which may cause truncation of value}} |
361 | // expected-note@-2{{use function 'fabsl' instead}} |
362 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabsl" |
363 | (void)fabs(x); |
364 | // expected-warning@-1{{absolute value function 'fabs' given an argument of type 'long double' but has parameter of type 'double' which may cause truncation of value}} |
365 | // expected-note@-2{{use function 'fabsl' instead}} |
366 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"fabsl" |
367 | (void)fabsl(x); |
368 | |
369 | (void)cabsf(x); |
370 | // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of floating point type}} |
371 | // expected-note@-2 {{use function 'fabsl' instead}} |
372 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabsl" |
373 | (void)cabs(x); |
374 | // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of floating point type}} |
375 | // expected-note@-2 {{use function 'fabsl' instead}} |
376 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"fabsl" |
377 | (void)cabsl(x); |
378 | // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of floating point type}} |
379 | // expected-note@-2 {{use function 'fabsl' instead}} |
380 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"fabsl" |
381 | |
382 | (void)__builtin_abs(x); |
383 | // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of floating point type}} |
384 | // expected-note@-2 {{use function '__builtin_fabsl' instead}} |
385 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"__builtin_fabsl" |
386 | (void)__builtin_labs(x); |
387 | // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of floating point type}} |
388 | // expected-note@-2 {{use function '__builtin_fabsl' instead}} |
389 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_fabsl" |
390 | (void)__builtin_llabs(x); |
391 | // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of floating point type}} |
392 | // expected-note@-2 {{use function '__builtin_fabsl' instead}} |
393 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabsl" |
394 | |
395 | (void)__builtin_fabsf(x); |
396 | // expected-warning@-1{{absolute value function '__builtin_fabsf' given an argument of type 'long double' but has parameter of type 'float' which may cause truncation of value}} |
397 | // expected-note@-2{{use function '__builtin_fabsl' instead}} |
398 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabsl" |
399 | (void)__builtin_fabs(x); |
400 | // expected-warning@-1{{absolute value function '__builtin_fabs' given an argument of type 'long double' but has parameter of type 'double' which may cause truncation of value}} |
401 | // expected-note@-2{{use function '__builtin_fabsl' instead}} |
402 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_fabsl" |
403 | (void)__builtin_fabsl(x); |
404 | |
405 | (void)__builtin_cabsf(x); |
406 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of floating point type}} |
407 | // expected-note@-2 {{use function '__builtin_fabsl' instead}} |
408 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabsl" |
409 | (void)__builtin_cabs(x); |
410 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of floating point type}} |
411 | // expected-note@-2 {{use function '__builtin_fabsl' instead}} |
412 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_fabsl" |
413 | (void)__builtin_cabsl(x); |
414 | // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of floating point type}} |
415 | // expected-note@-2 {{use function '__builtin_fabsl' instead}} |
416 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_fabsl" |
417 | } |
418 | |
419 | void test_complex_float(_Complex float x) { |
420 | (void)abs(x); |
421 | // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of complex type}} |
422 | // expected-note@-2 {{use function 'cabsf' instead}} |
423 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"cabsf" |
424 | (void)labs(x); |
425 | // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of complex type}} |
426 | // expected-note@-2 {{use function 'cabsf' instead}} |
427 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabsf" |
428 | (void)llabs(x); |
429 | // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of complex type}} |
430 | // expected-note@-2 {{use function 'cabsf' instead}} |
431 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsf" |
432 | |
433 | (void)fabsf(x); |
434 | // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of complex type}} |
435 | // expected-note@-2 {{use function 'cabsf' instead}} |
436 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsf" |
437 | (void)fabs(x); |
438 | // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of complex type}} |
439 | // expected-note@-2 {{use function 'cabsf' instead}} |
440 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabsf" |
441 | (void)fabsl(x); |
442 | // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of complex type}} |
443 | // expected-note@-2 {{use function 'cabsf' instead}} |
444 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsf" |
445 | |
446 | (void)cabsf(x); |
447 | (void)cabs(x); |
448 | (void)cabsl(x); |
449 | |
450 | (void)__builtin_abs(x); |
451 | // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of complex type}} |
452 | // expected-note@-2 {{use function '__builtin_cabsf' instead}} |
453 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"__builtin_cabsf" |
454 | (void)__builtin_labs(x); |
455 | // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of complex type}} |
456 | // expected-note@-2 {{use function '__builtin_cabsf' instead}} |
457 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabsf" |
458 | (void)__builtin_llabs(x); |
459 | // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of complex type}} |
460 | // expected-note@-2 {{use function '__builtin_cabsf' instead}} |
461 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsf" |
462 | |
463 | (void)__builtin_fabsf(x); |
464 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of complex type}} |
465 | // expected-note@-2 {{use function '__builtin_cabsf' instead}} |
466 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsf" |
467 | (void)__builtin_fabs(x); |
468 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of complex type}} |
469 | // expected-note@-2 {{use function '__builtin_cabsf' instead}} |
470 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabsf" |
471 | (void)__builtin_fabsl(x); |
472 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of complex type}} |
473 | // expected-note@-2 {{use function '__builtin_cabsf' instead}} |
474 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsf" |
475 | |
476 | (void)__builtin_cabsf(x); |
477 | (void)__builtin_cabs(x); |
478 | (void)__builtin_cabsl(x); |
479 | } |
480 | |
481 | void test_complex_double(_Complex double x) { |
482 | (void)abs(x); |
483 | // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of complex type}} |
484 | // expected-note@-2 {{use function 'cabs' instead}} |
485 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"cabs" |
486 | (void)labs(x); |
487 | // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of complex type}} |
488 | // expected-note@-2 {{use function 'cabs' instead}} |
489 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabs" |
490 | (void)llabs(x); |
491 | // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of complex type}} |
492 | // expected-note@-2 {{use function 'cabs' instead}} |
493 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabs" |
494 | |
495 | (void)fabsf(x); |
496 | // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of complex type}} |
497 | // expected-note@-2 {{use function 'cabs' instead}} |
498 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabs" |
499 | (void)fabs(x); |
500 | // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of complex type}} |
501 | // expected-note@-2 {{use function 'cabs' instead}} |
502 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabs" |
503 | (void)fabsl(x); |
504 | // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of complex type}} |
505 | // expected-note@-2 {{use function 'cabs' instead}} |
506 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabs" |
507 | |
508 | (void)cabsf(x); |
509 | // expected-warning@-1 {{absolute value function 'cabsf' given an argument of type '_Complex double' but has parameter of type '_Complex float' which may cause truncation of value}} |
510 | // expected-note@-2 {{use function 'cabs' instead}} |
511 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabs" |
512 | (void)cabs(x); |
513 | (void)cabsl(x); |
514 | |
515 | (void)__builtin_abs(x); |
516 | // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of complex type}} |
517 | // expected-note@-2 {{use function '__builtin_cabs' instead}} |
518 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"__builtin_cabs" |
519 | (void)__builtin_labs(x); |
520 | // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of complex type}} |
521 | // expected-note@-2 {{use function '__builtin_cabs' instead}} |
522 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabs" |
523 | (void)__builtin_llabs(x); |
524 | // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of complex type}} |
525 | // expected-note@-2 {{use function '__builtin_cabs' instead}} |
526 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabs" |
527 | |
528 | (void)__builtin_fabsf(x); |
529 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of complex type}} |
530 | // expected-note@-2 {{use function '__builtin_cabs' instead}} |
531 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabs" |
532 | (void)__builtin_fabs(x); |
533 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of complex type}} |
534 | // expected-note@-2 {{use function '__builtin_cabs' instead}} |
535 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabs" |
536 | (void)__builtin_fabsl(x); |
537 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of complex type}} |
538 | // expected-note@-2 {{use function '__builtin_cabs' instead}} |
539 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabs" |
540 | |
541 | (void)__builtin_cabsf(x); |
542 | // expected-warning@-1 {{absolute value function '__builtin_cabsf' given an argument of type '_Complex double' but has parameter of type '_Complex float' which may cause truncation of value}} |
543 | // expected-note@-2 {{use function '__builtin_cabs' instead}} |
544 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabs" |
545 | (void)__builtin_cabs(x); |
546 | (void)__builtin_cabsl(x); |
547 | } |
548 | |
549 | void test_complex_long_double(_Complex long double x) { |
550 | (void)abs(x); |
551 | // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of complex type}} |
552 | // expected-note@-2 {{use function 'cabsl' instead}} |
553 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"cabsl" |
554 | (void)labs(x); |
555 | // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of complex type}} |
556 | // expected-note@-2 {{use function 'cabsl' instead}} |
557 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabsl" |
558 | (void)llabs(x); |
559 | // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of complex type}} |
560 | // expected-note@-2 {{use function 'cabsl' instead}} |
561 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsl" |
562 | |
563 | (void)fabsf(x); |
564 | // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of complex type}} |
565 | // expected-note@-2 {{use function 'cabsl' instead}} |
566 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsl" |
567 | (void)fabs(x); |
568 | // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of complex type}} |
569 | // expected-note@-2 {{use function 'cabsl' instead}} |
570 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabsl" |
571 | (void)fabsl(x); |
572 | // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of complex type}} |
573 | // expected-note@-2 {{use function 'cabsl' instead}} |
574 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsl" |
575 | |
576 | (void)cabsf(x); |
577 | // expected-warning@-1 {{absolute value function 'cabsf' given an argument of type '_Complex long double' but has parameter of type '_Complex float' which may cause truncation of value}} |
578 | // expected-note@-2 {{use function 'cabsl' instead}} |
579 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsl" |
580 | (void)cabs(x); |
581 | // expected-warning@-1 {{absolute value function 'cabs' given an argument of type '_Complex long double' but has parameter of type '_Complex double' which may cause truncation of value}} |
582 | // expected-note@-2 {{use function 'cabsl' instead}} |
583 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabsl" |
584 | (void)cabsl(x); |
585 | |
586 | (void)__builtin_abs(x); |
587 | // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of complex type}} |
588 | // expected-note@-2 {{use function '__builtin_cabsl' instead}} |
589 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"__builtin_cabsl" |
590 | (void)__builtin_labs(x); |
591 | // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of complex type}} |
592 | // expected-note@-2 {{use function '__builtin_cabsl' instead}} |
593 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabsl" |
594 | (void)__builtin_llabs(x); |
595 | // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of complex type}} |
596 | // expected-note@-2 {{use function '__builtin_cabsl' instead}} |
597 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsl" |
598 | |
599 | (void)__builtin_fabsf(x); |
600 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of complex type}} |
601 | // expected-note@-2 {{use function '__builtin_cabsl' instead}} |
602 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsl" |
603 | (void)__builtin_fabs(x); |
604 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of complex type}} |
605 | // expected-note@-2 {{use function '__builtin_cabsl' instead}} |
606 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabsl" |
607 | (void)__builtin_fabsl(x); |
608 | // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of complex type}} |
609 | // expected-note@-2 {{use function '__builtin_cabsl' instead}} |
610 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsl" |
611 | |
612 | (void)__builtin_cabsf(x); |
613 | // expected-warning@-1 {{absolute value function '__builtin_cabsf' given an argument of type '_Complex long double' but has parameter of type '_Complex float' which may cause truncation of value}} |
614 | // expected-note@-2 {{use function '__builtin_cabsl' instead}} |
615 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsl" |
616 | (void)__builtin_cabs(x); |
617 | // expected-warning@-1 {{absolute value function '__builtin_cabs' given an argument of type '_Complex long double' but has parameter of type '_Complex double' which may cause truncation of value}} |
618 | // expected-note@-2 {{use function '__builtin_cabsl' instead}} |
619 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabsl" |
620 | (void)__builtin_cabsl(x); |
621 | } |
622 | |
623 | void test_unsigned_int(unsigned int x) { |
624 | (void)abs(x); |
625 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
626 | // expected-note@-2 {{remove the call to 'abs' since unsigned values cannot be negative}} |
627 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"" |
628 | (void)labs(x); |
629 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
630 | // expected-note@-2 {{remove the call to 'labs' since unsigned values cannot be negative}} |
631 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" |
632 | (void)llabs(x); |
633 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
634 | // expected-note@-2 {{remove the call to 'llabs' since unsigned values cannot be negative}} |
635 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" |
636 | |
637 | (void)fabsf(x); |
638 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
639 | // expected-note@-2 {{remove the call to 'fabsf' since unsigned values cannot be negative}} |
640 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" |
641 | (void)fabs(x); |
642 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
643 | // expected-note@-2 {{remove the call to 'fabs' since unsigned values cannot be negative}} |
644 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" |
645 | (void)fabsl(x); |
646 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
647 | // expected-note@-2 {{remove the call to 'fabsl' since unsigned values cannot be negative}} |
648 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" |
649 | |
650 | (void)cabsf(x); |
651 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
652 | // expected-note@-2 {{remove the call to 'cabsf' since unsigned values cannot be negative}} |
653 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" |
654 | (void)cabs(x); |
655 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
656 | // expected-note@-2 {{remove the call to 'cabs' since unsigned values cannot be negative}} |
657 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" |
658 | (void)cabsl(x); |
659 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
660 | // expected-note@-2 {{remove the call to 'cabsl' since unsigned values cannot be negative}} |
661 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" |
662 | |
663 | (void)__builtin_abs(x); |
664 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
665 | // expected-note@-2 {{remove the call to '__builtin_abs' since unsigned values cannot be negative}} |
666 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"" |
667 | (void)__builtin_labs(x); |
668 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
669 | // expected-note@-2 {{remove the call to '__builtin_labs' since unsigned values cannot be negative}} |
670 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" |
671 | (void)__builtin_llabs(x); |
672 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
673 | // expected-note@-2 {{remove the call to '__builtin_llabs' since unsigned values cannot be negative}} |
674 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" |
675 | |
676 | (void)__builtin_fabsf(x); |
677 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
678 | // expected-note@-2 {{remove the call to '__builtin_fabsf' since unsigned values cannot be negative}} |
679 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" |
680 | (void)__builtin_fabs(x); |
681 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
682 | // expected-note@-2 {{remove the call to '__builtin_fabs' since unsigned values cannot be negative}} |
683 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" |
684 | (void)__builtin_fabsl(x); |
685 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
686 | // expected-note@-2 {{remove the call to '__builtin_fabsl' since unsigned values cannot be negative}} |
687 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" |
688 | |
689 | (void)__builtin_cabsf(x); |
690 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
691 | // expected-note@-2 {{remove the call to '__builtin_cabsf' since unsigned values cannot be negative}} |
692 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" |
693 | (void)__builtin_cabs(x); |
694 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
695 | // expected-note@-2 {{remove the call to '__builtin_cabs' since unsigned values cannot be negative}} |
696 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" |
697 | (void)__builtin_cabsl(x); |
698 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} |
699 | // expected-note@-2 {{remove the call to '__builtin_cabsl' since unsigned values cannot be negative}} |
700 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" |
701 | } |
702 | |
703 | void test_unsigned_long(unsigned long x) { |
704 | (void)abs(x); |
705 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
706 | // expected-note@-2 {{remove the call to 'abs' since unsigned values cannot be negative}} |
707 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"" |
708 | (void)labs(x); |
709 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
710 | // expected-note@-2 {{remove the call to 'labs' since unsigned values cannot be negative}} |
711 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" |
712 | (void)llabs(x); |
713 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
714 | // expected-note@-2 {{remove the call to 'llabs' since unsigned values cannot be negative}} |
715 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" |
716 | |
717 | (void)fabsf(x); |
718 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
719 | // expected-note@-2 {{remove the call to 'fabsf' since unsigned values cannot be negative}} |
720 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" |
721 | (void)fabs(x); |
722 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
723 | // expected-note@-2 {{remove the call to 'fabs' since unsigned values cannot be negative}} |
724 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" |
725 | (void)fabsl(x); |
726 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
727 | // expected-note@-2 {{remove the call to 'fabsl' since unsigned values cannot be negative}} |
728 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" |
729 | |
730 | (void)cabsf(x); |
731 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
732 | // expected-note@-2 {{remove the call to 'cabsf' since unsigned values cannot be negative}} |
733 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" |
734 | (void)cabs(x); |
735 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
736 | // expected-note@-2 {{remove the call to 'cabs' since unsigned values cannot be negative}} |
737 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" |
738 | (void)cabsl(x); |
739 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
740 | // expected-note@-2 {{remove the call to 'cabsl' since unsigned values cannot be negative}} |
741 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" |
742 | |
743 | (void)__builtin_abs(x); |
744 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
745 | // expected-note@-2 {{remove the call to '__builtin_abs' since unsigned values cannot be negative}} |
746 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"" |
747 | (void)__builtin_labs(x); |
748 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
749 | // expected-note@-2 {{remove the call to '__builtin_labs' since unsigned values cannot be negative}} |
750 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" |
751 | (void)__builtin_llabs(x); |
752 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
753 | // expected-note@-2 {{remove the call to '__builtin_llabs' since unsigned values cannot be negative}} |
754 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" |
755 | |
756 | (void)__builtin_fabsf(x); |
757 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
758 | // expected-note@-2 {{remove the call to '__builtin_fabsf' since unsigned values cannot be negative}} |
759 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" |
760 | (void)__builtin_fabs(x); |
761 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
762 | // expected-note@-2 {{remove the call to '__builtin_fabs' since unsigned values cannot be negative}} |
763 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" |
764 | (void)__builtin_fabsl(x); |
765 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
766 | // expected-note@-2 {{remove the call to '__builtin_fabsl' since unsigned values cannot be negative}} |
767 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" |
768 | |
769 | (void)__builtin_cabsf(x); |
770 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
771 | // expected-note@-2 {{remove the call to '__builtin_cabsf' since unsigned values cannot be negative}} |
772 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" |
773 | (void)__builtin_cabs(x); |
774 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
775 | // expected-note@-2 {{remove the call to '__builtin_cabs' since unsigned values cannot be negative}} |
776 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" |
777 | (void)__builtin_cabsl(x); |
778 | // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} |
779 | // expected-note@-2 {{remove the call to '__builtin_cabsl' since unsigned values cannot be negative}} |
780 | // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" |
781 | } |
782 | |
783 | long long test_array() { |
784 | return llabs((long long[]){1}); |
785 | // expected-warning@-1 {{absolute value of array type}} |
786 | } |
787 | long long test_function_pointer() { |
788 | return llabs(&test_function_pointer); |
789 | // expected-warning@-1 {{absolute value of pointer type}} |
790 | } |
791 | long long test_void_pointer(void *x) { |
792 | return llabs(x); |
793 | // expected-warning@-1 {{absolute value of pointer type}} |
794 | } |
795 | long long test_function() { |
796 | return llabs(test_function); |
797 | // expected-warning@-1 {{absolute value of function type}} |
798 | } |
799 | |