799 lines · c
1// RUN: %clang_cc1 -triple i686-pc-linux-gnu -fsyntax-only -verify %s -Wabsolute-value -Wno-int-conversion2// RUN: %clang_cc1 -triple i686-pc-linux-gnu -fsyntax-only %s -Wabsolute-value -Wno-int-conversion -fdiagnostics-parseable-fixits 2>&1 | FileCheck %s3 4int abs(int);5long int labs(long int);6long long int llabs(long long int);7 8float fabsf(float);9double fabs(double);10long double fabsl(long double);11 12float cabsf(float _Complex);13double cabs(double _Complex);14long double cabsl(long double _Complex);15 16void 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 78void test_long(long x) {79 (void)abs(x); // no warning - int and long are same length for this target80 (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 for110 // this target111 (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 141void 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 215void 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 277void 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 345void 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 419void 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 481void 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 549void 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 623void 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 703void 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 783long long test_array(void) {784 return llabs((long long[]){1});785 // expected-warning@-1 {{absolute value of array type}}786}787long long test_function_pointer(void) {788 return llabs(&test_function_pointer);789 // expected-warning@-1 {{absolute value of pointer type}}790}791long long test_void_pointer(void *x) {792 return llabs(x);793 // expected-warning@-1 {{absolute value of pointer type}}794}795long long test_function(void) {796 return llabs(test_function);797 // expected-warning@-1 {{absolute value of function type}}798}799