150
|
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 }
|