16bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -triple i686-pc-linux-gnu -fsyntax-only -verify %s -Wabsolute-value -std=c++11 26bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -triple i686-pc-linux-gnu -fsyntax-only %s -Wabsolute-value -fdiagnostics-parseable-fixits -std=c++11 2>&1 | FileCheck %s 36bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 46bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesextern "C" { 56bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesint abs(int); 66bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hineslong int labs(long int); 76bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hineslong long int llabs(long long int); 86bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 96bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesfloat fabsf(float); 106bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesdouble fabs(double); 116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hineslong double fabsl(long double); 126bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 136bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesfloat cabsf(float _Complex); 146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesdouble cabs(double _Complex); 156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hineslong double cabsl(long double _Complex); 166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesnamespace std { 196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesinline namespace __1 { 216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesint abs(int); 226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hineslong int abs(long int); 236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hineslong long int abs(long long int); 246bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 256bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 266bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesfloat abs(float); 276bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesdouble abs(double); 286bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hineslong double abs(long double); 296bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 306bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinestemplate <typename T> 316bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesdouble abs(T); 326bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 336bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 346bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 356bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_int(int x) { 366bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)std::abs(x); 376bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 386bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); 396bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 406bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 416bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 426bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 436bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of integer type}} 446bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 456bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 466bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 476bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of integer type}} 486bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 496bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 506bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 516bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of integer type}} 526bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 536bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 546bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 556bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 566bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of integer type}} 576bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 586bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 596bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 606bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of integer type}} 616bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 626bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 636bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 646bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of integer type}} 656bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 666bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 676bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 686bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); 696bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 706bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 716bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 726bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 736bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of integer type}} 746bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 756bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 766bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 776bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of integer type}} 786bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 796bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 806bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 816bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of integer type}} 826bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 836bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 846bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 856bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 866bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of integer type}} 876bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 886bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 896bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 906bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of integer type}} 916bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 926bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 936bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 946bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of integer type}} 956bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 966bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 976bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 986bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 996bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_long(long x) { 1006bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)std::abs(x); 1016bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1026bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); // no warning - int and long are same length for this target 1036bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 1046bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 1056bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1066bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 1076bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of integer type}} 1086bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1096bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 1106bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 1116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of integer type}} 1126bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1136bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 1146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 1156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of integer type}} 1166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 1186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 1206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of integer type}} 1216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 1236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 1246bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of integer type}} 1256bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1266bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 1276bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 1286bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of integer type}} 1296bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1306bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 1316bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1326bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); // no warning - int and long are same length for 1336bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // this target 1346bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 1356bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 1366bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1376bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 1386bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of integer type}} 1396bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1406bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 1416bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 1426bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of integer type}} 1436bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1446bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 1456bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 1466bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of integer type}} 1476bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1486bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 1496bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1506bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 1516bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of integer type}} 1526bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1536bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 1546bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 1556bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of integer type}} 1566bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1576bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 1586bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 1596bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of integer type}} 1606bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1616bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 1626bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 1636bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1646bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_long_long(long long x) { 1656bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)std::abs(x); 1666bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1676bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); 1686bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 1696bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2{{use function 'std::abs' instead}} 1706bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"std::abs" 1716bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 1726bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 1736bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2{{use function 'std::abs' instead}} 1746bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 1756bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 1766bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1776bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 1786bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of integer type}} 1796bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1806bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 1816bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 1826bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of integer type}} 1836bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1846bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 1856bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 1866bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of integer type}} 1876bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1886bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 1896bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1906bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 1916bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of integer type}} 1926bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1936bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 1946bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 1956bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of integer type}} 1966bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 1976bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 1986bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 1996bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of integer type}} 2006bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2016bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 2026bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2036bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); 2046bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 2056bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2{{use function 'std::abs' instead}} 2066bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"std::abs" 2076bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 2086bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 2096bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2{{use function 'std::abs' instead}} 2106bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 2116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 2126bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2136bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 2146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of integer type}} 2156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 2176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 2186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of integer type}} 2196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 2216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 2226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of integer type}} 2236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2246bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 2256bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2266bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 2276bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of integer type}} 2286bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2296bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 2306bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 2316bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of integer type}} 2326bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2336bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 2346bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 2356bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of integer type}} 2366bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2376bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 2386bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 2396bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2406bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_float(float x) { 2416bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)std::abs(x); 2426bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2436bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); 2446bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of floating point type}} 2456bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2466bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"std::abs" 2476bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 2486bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of floating point type}} 2496bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2506bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 2516bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 2526bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of floating point type}} 2536bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2546bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 2556bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2566bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 2576bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 2586bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 2596bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2606bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 2616bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of floating point type}} 2626bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2636bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 2646bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 2656bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of floating point type}} 2666bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2676bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 2686bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 2696bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of floating point type}} 2706bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2716bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 2726bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2736bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); 2746bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of floating point type}} 2756bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2766bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"std::abs" 2776bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 2786bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of floating point type}} 2796bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2806bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 2816bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 2826bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of floating point type}} 2836bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2846bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 2856bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2866bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 2876bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 2886bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 2896bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2906bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 2916bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of floating point type}} 2926bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2936bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 2946bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 2956bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of floating point type}} 2966bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 2976bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 2986bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 2996bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of floating point type}} 3006bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3016bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 3026bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 3036bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 3046bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_double(double x) { 3056bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)std::abs(x); 3066bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 3076bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); 3086bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of floating point type}} 3096bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3106bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"std::abs" 3116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 3126bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of floating point type}} 3136bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 3156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 3166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of floating point type}} 3176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 3196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 3206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 3216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 3226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2{{use function 'std::abs' instead}} 3236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 3246bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 3256bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 3266bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 3276bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 3286bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of floating point type}} 3296bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3306bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 3316bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 3326bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of floating point type}} 3336bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3346bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 3356bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 3366bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of floating point type}} 3376bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3386bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 3396bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 3406bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); 3416bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of floating point type}} 3426bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3436bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"std::abs" 3446bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 3456bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of floating point type}} 3466bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3476bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 3486bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 3496bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of floating point type}} 3506bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3516bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 3526bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 3536bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 3546bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 3556bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2{{use function 'std::abs' instead}} 3566bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 3576bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 3586bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 3596bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 3606bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 3616bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of floating point type}} 3626bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3636bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 3646bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 3656bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of floating point type}} 3666bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3676bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 3686bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 3696bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of floating point type}} 3706bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3716bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 3726bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 3736bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 3746bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_long_double(long double x) { 3756bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)std::abs(x); 3766bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 3776bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); 3786bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of floating point type}} 3796bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3806bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"std::abs" 3816bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 3826bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of floating point type}} 3836bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3846bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 3856bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 3866bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of floating point type}} 3876bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 3886bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 3896bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 3906bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 3916bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 3926bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2{{use function 'std::abs' instead}} 3936bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 3946bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 3956bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 3966bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2{{use function 'std::abs' instead}} 3976bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 3986bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 3996bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 4006bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 4016bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsf' when argument is of floating point type}} 4026bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 4036bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 4046bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 4056bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabs' when argument is of floating point type}} 4066bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 4076bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"std::abs" 4086bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 4096bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function 'cabsl' when argument is of floating point type}} 4106bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 4116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"std::abs" 4126bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 4136bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); 4146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of floating point type}} 4156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 4166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"std::abs" 4176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 4186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of floating point type}} 4196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 4206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 4216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 4226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of floating point type}} 4236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 4246bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 4256bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 4266bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 4276bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 4286bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2{{use function 'std::abs' instead}} 4296bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 4306bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 4316bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 4326bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2{{use function 'std::abs' instead}} 4336bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 4346bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 4356bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 4366bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 4376bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsf' when argument is of floating point type}} 4386bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 4396bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 4406bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 4416bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabs' when argument is of floating point type}} 4426bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 4436bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"std::abs" 4446bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 4456bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using complex absolute value function '__builtin_cabsl' when argument is of floating point type}} 4466bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'std::abs' instead}} 4476bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"std::abs" 4486bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 4496bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 4506bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_complex_float(_Complex float x) { 4516bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); 4526bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of complex type}} 4536bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsf' instead}} 4546bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"cabsf" 4556bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 4566bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of complex type}} 4576bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsf' instead}} 4586bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabsf" 4596bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 4606bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of complex type}} 4616bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsf' instead}} 4626bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsf" 4636bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 4646bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 4656bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of complex type}} 4666bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsf' instead}} 4676bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsf" 4686bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 4696bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of complex type}} 4706bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsf' instead}} 4716bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabsf" 4726bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 4736bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of complex type}} 4746bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsf' instead}} 4756bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsf" 4766bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 4776bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 4786bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 4796bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 4806bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 4816bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); 4826bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of complex type}} 4836bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsf' instead}} 4846bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"__builtin_cabsf" 4856bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 4866bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of complex type}} 4876bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsf' instead}} 4886bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabsf" 4896bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 4906bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of complex type}} 4916bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsf' instead}} 4926bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsf" 4936bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 4946bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 4956bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of complex type}} 4966bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsf' instead}} 4976bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsf" 4986bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 4996bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of complex type}} 5006bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsf' instead}} 5016bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabsf" 5026bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 5036bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of complex type}} 5046bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsf' instead}} 5056bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsf" 5066bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 5076bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 5086bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 5096bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 5106bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 5116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 5126bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_complex_double(_Complex double x) { 5136bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); 5146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of complex type}} 5156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabs' instead}} 5166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"cabs" 5176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 5186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of complex type}} 5196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabs' instead}} 5206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabs" 5216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 5226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of complex type}} 5236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabs' instead}} 5246bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabs" 5256bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 5266bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 5276bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of complex type}} 5286bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabs' instead}} 5296bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabs" 5306bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 5316bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of complex type}} 5326bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabs' instead}} 5336bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabs" 5346bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 5356bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of complex type}} 5366bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabs' instead}} 5376bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabs" 5386bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 5396bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 5406bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 5416bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabs' instead}} 5426bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabs" 5436bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 5446bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 5456bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 5466bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); 5476bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of complex type}} 5486bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabs' instead}} 5496bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"__builtin_cabs" 5506bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 5516bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of complex type}} 5526bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabs' instead}} 5536bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabs" 5546bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 5556bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of complex type}} 5566bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabs' instead}} 5576bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabs" 5586bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 5596bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 5606bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of complex type}} 5616bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabs' instead}} 5626bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabs" 5636bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 5646bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of complex type}} 5656bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabs' instead}} 5666bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabs" 5676bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 5686bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of complex type}} 5696bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabs' instead}} 5706bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabs" 5716bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 5726bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 5736bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 5746bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabs' instead}} 5756bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabs" 5766bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 5776bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 5786bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 5796bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 5806bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_complex_long_double(_Complex long double x) { 5816bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); 5826bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'abs' when argument is of complex type}} 5836bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsl' instead}} 5846bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"cabsl" 5856bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 5866bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'labs' when argument is of complex type}} 5876bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsl' instead}} 5886bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabsl" 5896bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 5906bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function 'llabs' when argument is of complex type}} 5916bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsl' instead}} 5926bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsl" 5936bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 5946bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 5956bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsf' when argument is of complex type}} 5966bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsl' instead}} 5976bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsl" 5986bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 5996bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabs' when argument is of complex type}} 6006bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsl' instead}} 6016bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabsl" 6026bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 6036bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function 'fabsl' when argument is of complex type}} 6046bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsl' instead}} 6056bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsl" 6066bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 6076bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 6086bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 6096bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsl' instead}} 6106bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"cabsl" 6116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 6126bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 6136bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function 'cabsl' instead}} 6146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"cabsl" 6156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 6166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 6176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); 6186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_abs' when argument is of complex type}} 6196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsl' instead}} 6206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"__builtin_cabsl" 6216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 6226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_labs' when argument is of complex type}} 6236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsl' instead}} 6246bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabsl" 6256bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 6266bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using integer absolute value function '__builtin_llabs' when argument is of complex type}} 6276bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsl' instead}} 6286bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsl" 6296bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 6306bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 6316bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsf' when argument is of complex type}} 6326bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsl' instead}} 6336bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsl" 6346bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 6356bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabs' when argument is of complex type}} 6366bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsl' instead}} 6376bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabsl" 6386bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 6396bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{using floating point absolute value function '__builtin_fabsl' when argument is of complex type}} 6406bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsl' instead}} 6416bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsl" 6426bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 6436bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 6446bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 6456bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsl' instead}} 6466bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"__builtin_cabsl" 6476bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 6486bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // 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}} 6496bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{use function '__builtin_cabsl' instead}} 6506bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"__builtin_cabsl" 6516bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 6526bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 6536bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 6546bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_unsigned_int(unsigned int x) { 6556bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)std::abs(x); 6566bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 6576bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'std::abs' since unsigned values cannot be negative}} 6586bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:17}:"" 6596bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 6606bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); 6616bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 6626bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'abs' since unsigned values cannot be negative}} 6636bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"" 6646bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 6656bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 6666bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'labs' since unsigned values cannot be negative}} 6676bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" 6686bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 6696bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 6706bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'llabs' since unsigned values cannot be negative}} 6716bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" 6726bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 6736bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 6746bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 6756bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'fabsf' since unsigned values cannot be negative}} 6766bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" 6776bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 6786bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 6796bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'fabs' since unsigned values cannot be negative}} 6806bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" 6816bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 6826bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 6836bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'fabsl' since unsigned values cannot be negative}} 6846bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" 6856bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 6866bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 6876bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 6886bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'cabsf' since unsigned values cannot be negative}} 6896bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" 6906bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 6916bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 6926bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'cabs' since unsigned values cannot be negative}} 6936bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" 6946bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 6956bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 6966bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'cabsl' since unsigned values cannot be negative}} 6976bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" 6986bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 6996bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); 7006bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 7016bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_abs' since unsigned values cannot be negative}} 7026bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"" 7036bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 7046bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 7056bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_labs' since unsigned values cannot be negative}} 7066bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" 7076bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 7086bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 7096bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_llabs' since unsigned values cannot be negative}} 7106bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" 7116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 7126bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 7136bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 7146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_fabsf' since unsigned values cannot be negative}} 7156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" 7166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 7176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 7186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_fabs' since unsigned values cannot be negative}} 7196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" 7206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 7216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 7226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_fabsl' since unsigned values cannot be negative}} 7236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" 7246bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 7256bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 7266bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 7276bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_cabsf' since unsigned values cannot be negative}} 7286bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" 7296bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 7306bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 7316bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_cabs' since unsigned values cannot be negative}} 7326bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" 7336bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 7346bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned int' has no effect}} 7356bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_cabsl' since unsigned values cannot be negative}} 7366bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" 7376bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 7386bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 7396bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinesvoid test_unsigned_long(unsigned long x) { 7406bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)std::abs(x); 7416bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7426bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'std::abs' since unsigned values cannot be negative}} 7436bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:17}:"" 7446bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 7456bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)abs(x); 7466bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7476bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'abs' since unsigned values cannot be negative}} 7486bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:12}:"" 7496bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)labs(x); 7506bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7516bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'labs' since unsigned values cannot be negative}} 7526bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" 7536bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)llabs(x); 7546bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7556bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'llabs' since unsigned values cannot be negative}} 7566bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" 7576bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 7586bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsf(x); 7596bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7606bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'fabsf' since unsigned values cannot be negative}} 7616bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" 7626bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabs(x); 7636bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7646bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'fabs' since unsigned values cannot be negative}} 7656bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" 7666bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)fabsl(x); 7676bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7686bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'fabsl' since unsigned values cannot be negative}} 7696bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" 7706bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 7716bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsf(x); 7726bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7736bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'cabsf' since unsigned values cannot be negative}} 7746bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" 7756bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabs(x); 7766bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7776bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'cabs' since unsigned values cannot be negative}} 7786bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:13}:"" 7796bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)cabsl(x); 7806bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7816bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to 'cabsl' since unsigned values cannot be negative}} 7826bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:14}:"" 7836bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 7846bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_abs(x); 7856bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7866bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_abs' since unsigned values cannot be negative}} 7876bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:22}:"" 7886bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_labs(x); 7896bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7906bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_labs' since unsigned values cannot be negative}} 7916bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" 7926bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_llabs(x); 7936bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7946bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_llabs' since unsigned values cannot be negative}} 7956bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" 7966bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 7976bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsf(x); 7986bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 7996bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_fabsf' since unsigned values cannot be negative}} 8006bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" 8016bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabs(x); 8026bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 8036bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_fabs' since unsigned values cannot be negative}} 8046bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" 8056bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_fabsl(x); 8066bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 8076bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_fabsl' since unsigned values cannot be negative}} 8086bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" 8096bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 8106bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsf(x); 8116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 8126bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_cabsf' since unsigned values cannot be negative}} 8136bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" 8146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabs(x); 8156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 8166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_cabs' since unsigned values cannot be negative}} 8176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:23}:"" 8186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines (void)__builtin_cabsl(x); 8196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-warning@-1 {{taking the absolute value of unsigned type 'unsigned long' has no effect}} 8206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // expected-note@-2 {{remove the call to '__builtin_cabsl' since unsigned values cannot be negative}} 8216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines // CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:9-[[@LINE-3]]:24}:"" 8226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} 8236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 824