From 27f46ee38d9a6a28cf0438218a198a9da1cee5d6 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Fri, 9 Jul 2010 18:18:35 +0000 Subject: [PATCH] Refer to implicit "conversions" rather than implicit "casts", which don't technically exist in the language. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107995 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/DiagnosticSemaKinds.td | 17 +-- test/Sema/address_spaces.c | 2 +- test/Sema/conversion-64-32.c | 2 +- test/Sema/conversion.c | 130 ++++++++++----------- 4 files changed, 76 insertions(+), 75 deletions(-) diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index 578fe8c724..5ff1f0896f 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -859,7 +859,8 @@ def err_attribute_address_space_too_high : Error< def err_attribute_address_multiple_qualifiers : Error< "multiple address spaces specified for type">; def err_implicit_pointer_address_space_cast : Error< - "illegal implicit cast between two pointers with different address spaces">; + "illegal implicit conversion between two pointers with different address " + "spaces">; def err_as_qualified_auto_decl : Error< "automatic variable qualified with an address space">; def err_arg_with_address_space : Error< @@ -928,28 +929,28 @@ def err_regparm_mismatch : Error<"function declared with with regparm(%0) " "regparm}1 attribute">; def warn_impcast_vector_scalar : Warning< - "implicit cast turns vector to scalar: %0 to %1">, + "implicit conversion turns vector to scalar: %0 to %1">, InGroup>, DefaultIgnore; def warn_impcast_complex_scalar : Warning< - "implicit cast discards imaginary component: %0 to %1">, + "implicit conversion discards imaginary component: %0 to %1">, InGroup>, DefaultIgnore; def warn_impcast_float_precision : Warning< - "implicit cast loses floating-point precision: %0 to %1">, + "implicit conversion loses floating-point precision: %0 to %1">, InGroup>, DefaultIgnore; def warn_impcast_float_integer : Warning< - "implicit cast turns floating-point number into integer: %0 to %1">, + "implicit conversion turns floating-point number into integer: %0 to %1">, InGroup>, DefaultIgnore; def warn_impcast_integer_sign : Warning< - "implicit cast changes signedness: %0 to %1">, + "implicit conversion changes signedness: %0 to %1">, InGroup>, DefaultIgnore; def warn_impcast_integer_sign_conditional : Warning< "operand of ? changes signedness: %0 to %1">, InGroup>, DefaultIgnore; def warn_impcast_integer_precision : Warning< - "implicit cast loses integer precision: %0 to %1">, + "implicit conversion loses integer precision: %0 to %1">, InGroup>, DefaultIgnore; def warn_impcast_integer_64_32 : Warning< - "implicit cast loses integer precision: %0 to %1">, + "implicit conversion loses integer precision: %0 to %1">, InGroup>, DefaultIgnore; def warn_attribute_ignored_for_field_of_type : Warning< diff --git a/test/Sema/address_spaces.c b/test/Sema/address_spaces.c index 6258114578..23c1405011 100644 --- a/test/Sema/address_spaces.c +++ b/test/Sema/address_spaces.c @@ -36,7 +36,7 @@ struct _st { // rdar://6774906 __attribute__((address_space(256))) void * * const base = 0; void * get_0(void) { - return base[0]; // expected-error {{illegal implicit cast between two pointers with different address spaces}} \ + return base[0]; // expected-error {{illegal implicit conversion between two pointers with different address spaces}} \ expected-warning {{returning 'void __attribute__((address_space(256))) *' from a function with result type 'void *' discards qualifiers}} } diff --git a/test/Sema/conversion-64-32.c b/test/Sema/conversion-64-32.c index 104399641d..aa7282962f 100644 --- a/test/Sema/conversion-64-32.c +++ b/test/Sema/conversion-64-32.c @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -fsyntax-only -verify -Wshorten-64-to-32 -triple x86_64-apple-darwin %s int test0(long v) { - return v; // expected-warning {{implicit cast loses integer precision}} + return v; // expected-warning {{implicit conversion loses integer precision}} } diff --git a/test/Sema/conversion.c b/test/Sema/conversion.c index 5b09ec6d97..5fbd64de5b 100644 --- a/test/Sema/conversion.c +++ b/test/Sema/conversion.c @@ -6,17 +6,17 @@ void test0(char c, short s, int i, long l, long long ll) { c = c; - c = s; // expected-warning {{implicit cast loses integer precision}} - c = i; // expected-warning {{implicit cast loses integer precision}} - c = l; // expected-warning {{implicit cast loses integer precision}} + c = s; // expected-warning {{implicit conversion loses integer precision}} + c = i; // expected-warning {{implicit conversion loses integer precision}} + c = l; // expected-warning {{implicit conversion loses integer precision}} s = c; s = s; - s = i; // expected-warning {{implicit cast loses integer precision}} - s = l; // expected-warning {{implicit cast loses integer precision}} + s = i; // expected-warning {{implicit conversion loses integer precision}} + s = l; // expected-warning {{implicit conversion loses integer precision}} i = c; i = s; i = i; - i = l; // expected-warning {{implicit cast loses integer precision}} + i = l; // expected-warning {{implicit conversion loses integer precision}} l = c; l = s; l = i; @@ -40,17 +40,17 @@ void test0(char c, short s, int i, long l, long long ll) { l = (long) 0; c = (char) BIG; - c = (short) BIG; // expected-warning {{implicit cast loses integer precision}} - c = (int) BIG; // expected-warning {{implicit cast loses integer precision}} - c = (long) BIG; // expected-warning {{implicit cast loses integer precision}} + c = (short) BIG; // expected-warning {{implicit conversion loses integer precision}} + c = (int) BIG; // expected-warning {{implicit conversion loses integer precision}} + c = (long) BIG; // expected-warning {{implicit conversion loses integer precision}} s = (char) BIG; s = (short) BIG; - s = (int) BIG; // expected-warning {{implicit cast loses integer precision}} - s = (long) BIG; // expected-warning {{implicit cast loses integer precision}} + s = (int) BIG; // expected-warning {{implicit conversion loses integer precision}} + s = (long) BIG; // expected-warning {{implicit conversion loses integer precision}} i = (char) BIG; i = (short) BIG; i = (int) BIG; - i = (long) BIG; // expected-warning {{implicit cast loses integer precision}} + i = (long) BIG; // expected-warning {{implicit conversion loses integer precision}} l = (char) BIG; l = (short) BIG; l = (int) BIG; @@ -58,39 +58,39 @@ void test0(char c, short s, int i, long l, long long ll) { } char test1(long long ll) { - return (long long) ll; // expected-warning {{implicit cast loses integer precision}} - return (long) ll; // expected-warning {{implicit cast loses integer precision}} - return (int) ll; // expected-warning {{implicit cast loses integer precision}} - return (short) ll; // expected-warning {{implicit cast loses integer precision}} + return (long long) ll; // expected-warning {{implicit conversion loses integer precision}} + return (long) ll; // expected-warning {{implicit conversion loses integer precision}} + return (int) ll; // expected-warning {{implicit conversion loses integer precision}} + return (short) ll; // expected-warning {{implicit conversion loses integer precision}} return (char) ll; - return (long long) BIG; // expected-warning {{implicit cast loses integer precision}} - return (long) BIG; // expected-warning {{implicit cast loses integer precision}} - return (int) BIG; // expected-warning {{implicit cast loses integer precision}} - return (short) BIG; // expected-warning {{implicit cast loses integer precision}} + return (long long) BIG; // expected-warning {{implicit conversion loses integer precision}} + return (long) BIG; // expected-warning {{implicit conversion loses integer precision}} + return (int) BIG; // expected-warning {{implicit conversion loses integer precision}} + return (short) BIG; // expected-warning {{implicit conversion loses integer precision}} return (char) BIG; } short test2(long long ll) { - return (long long) ll; // expected-warning {{implicit cast loses integer precision}} - return (long) ll; // expected-warning {{implicit cast loses integer precision}} - return (int) ll; // expected-warning {{implicit cast loses integer precision}} + return (long long) ll; // expected-warning {{implicit conversion loses integer precision}} + return (long) ll; // expected-warning {{implicit conversion loses integer precision}} + return (int) ll; // expected-warning {{implicit conversion loses integer precision}} return (short) ll; return (char) ll; - return (long long) BIG; // expected-warning {{implicit cast loses integer precision}} - return (long) BIG; // expected-warning {{implicit cast loses integer precision}} - return (int) BIG; // expected-warning {{implicit cast loses integer precision}} + return (long long) BIG; // expected-warning {{implicit conversion loses integer precision}} + return (long) BIG; // expected-warning {{implicit conversion loses integer precision}} + return (int) BIG; // expected-warning {{implicit conversion loses integer precision}} return (short) BIG; return (char) BIG; } int test3(long long ll) { - return (long long) ll; // expected-warning {{implicit cast loses integer precision}} - return (long) ll; // expected-warning {{implicit cast loses integer precision}} + return (long long) ll; // expected-warning {{implicit conversion loses integer precision}} + return (long) ll; // expected-warning {{implicit conversion loses integer precision}} return (int) ll; return (short) ll; return (char) ll; - return (long long) BIG; // expected-warning {{implicit cast loses integer precision}} - return (long) BIG; // expected-warning {{implicit cast loses integer precision}} + return (long long) BIG; // expected-warning {{implicit conversion loses integer precision}} + return (long) BIG; // expected-warning {{implicit conversion loses integer precision}} return (int) BIG; return (short) BIG; return (char) BIG; @@ -143,7 +143,7 @@ void test6(char v) { } void test7(short v) { - takes_char(v); // expected-warning {{implicit cast loses integer precision}} + takes_char(v); // expected-warning {{implicit conversion loses integer precision}} takes_short(v); takes_int(v); takes_long(v); @@ -154,8 +154,8 @@ void test7(short v) { } void test8(int v) { - takes_char(v); // expected-warning {{implicit cast loses integer precision}} - takes_short(v); // expected-warning {{implicit cast loses integer precision}} + takes_char(v); // expected-warning {{implicit conversion loses integer precision}} + takes_short(v); // expected-warning {{implicit conversion loses integer precision}} takes_int(v); takes_long(v); takes_longlong(v); @@ -165,9 +165,9 @@ void test8(int v) { } void test9(long v) { - takes_char(v); // expected-warning {{implicit cast loses integer precision}} - takes_short(v); // expected-warning {{implicit cast loses integer precision}} - takes_int(v); // expected-warning {{implicit cast loses integer precision}} + takes_char(v); // expected-warning {{implicit conversion loses integer precision}} + takes_short(v); // expected-warning {{implicit conversion loses integer precision}} + takes_int(v); // expected-warning {{implicit conversion loses integer precision}} takes_long(v); takes_longlong(v); takes_float(v); @@ -176,9 +176,9 @@ void test9(long v) { } void test10(long long v) { - takes_char(v); // expected-warning {{implicit cast loses integer precision}} - takes_short(v); // expected-warning {{implicit cast loses integer precision}} - takes_int(v); // expected-warning {{implicit cast loses integer precision}} + takes_char(v); // expected-warning {{implicit conversion loses integer precision}} + takes_short(v); // expected-warning {{implicit conversion loses integer precision}} + takes_int(v); // expected-warning {{implicit conversion loses integer precision}} takes_long(v); takes_longlong(v); takes_float(v); @@ -187,35 +187,35 @@ void test10(long long v) { } void test11(float v) { - takes_char(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_short(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_int(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_long(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_longlong(v); // expected-warning {{implicit cast turns floating-point number into integer}} + takes_char(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_short(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_int(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_long(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_longlong(v); // expected-warning {{implicit conversion turns floating-point number into integer}} takes_float(v); takes_double(v); takes_longdouble(v); } void test12(double v) { - takes_char(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_short(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_int(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_long(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_longlong(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_float(v); // expected-warning {{implicit cast loses floating-point precision}} + takes_char(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_short(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_int(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_long(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_longlong(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_float(v); // expected-warning {{implicit conversion loses floating-point precision}} takes_double(v); takes_longdouble(v); } void test13(long double v) { - takes_char(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_short(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_int(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_long(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_longlong(v); // expected-warning {{implicit cast turns floating-point number into integer}} - takes_float(v); // expected-warning {{implicit cast loses floating-point precision}} - takes_double(v); // expected-warning {{implicit cast loses floating-point precision}} + takes_char(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_short(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_int(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_long(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_longlong(v); // expected-warning {{implicit conversion turns floating-point number into integer}} + takes_float(v); // expected-warning {{implicit conversion loses floating-point precision}} + takes_double(v); // expected-warning {{implicit conversion loses floating-point precision}} takes_longdouble(v); } @@ -229,13 +229,13 @@ void test14(long l) { void test15(char c) { c = c + 1 + c * 2; - c = (short) c + 1 + c * 2; // expected-warning {{implicit cast loses integer precision}} + c = (short) c + 1 + c * 2; // expected-warning {{implicit conversion loses integer precision}} } // PR 5422 extern void *test16_external; void test16(void) { - int a = (unsigned long) &test16_external; // expected-warning {{implicit cast loses integer precision}} + int a = (unsigned long) &test16_external; // expected-warning {{implicit conversion loses integer precision}} } // PR 5938 @@ -249,7 +249,7 @@ void test17() { unsigned int x; x = U.a; x = U.b; - x = U.c; // expected-warning {{implicit cast loses integer precision}} + x = U.c; // expected-warning {{implicit conversion loses integer precision}} } // PR 5939 @@ -277,7 +277,7 @@ unsigned char test19(unsigned long u64) { // void test_7631400(void) { // This should show up despite the caret being inside a macro substitution - char s = LONG_MAX; // expected-warning {{implicit cast loses integer precision: 'long' to 'char'}} + char s = LONG_MAX; // expected-warning {{implicit conversion loses integer precision: 'long' to 'char'}} } // : assertion for compound operators with non-integral RHS @@ -291,9 +291,9 @@ void test_7676608(void) { // void test_7904686(void) { const int i = -1; - unsigned u1 = i; // expected-warning {{implicit cast changes signedness}} - u1 = i; // expected-warning {{implicit cast changes signedness}} + unsigned u1 = i; // expected-warning {{implicit conversion changes signedness}} + u1 = i; // expected-warning {{implicit conversion changes signedness}} - unsigned u2 = -1; // expected-warning {{implicit cast changes signedness}} - u2 = -1; // expected-warning {{implicit cast changes signedness}} + unsigned u2 = -1; // expected-warning {{implicit conversion changes signedness}} + u2 = -1; // expected-warning {{implicit conversion changes signedness}} } -- 2.50.1