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