[cfe-commits] r107995 - in /cfe/trunk: include/clang/Basic/DiagnosticSemaKinds.td test/Sema/address_spaces.c test/Sema/conversion-64-32.c test/Sema/conversion.c

Douglas Gregor dgregor at apple.com
Fri Jul 9 11:18:36 PDT 2010


Author: dgregor
Date: Fri Jul  9 13:18:35 2010
New Revision: 107995

URL: http://llvm.org/viewvc/llvm-project?rev=107995&view=rev
Log:
Refer to implicit "conversions" rather than implicit "casts", which
don't technically exist in the language. <rdar://problem/8085982>


Modified:
    cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
    cfe/trunk/test/Sema/address_spaces.c
    cfe/trunk/test/Sema/conversion-64-32.c
    cfe/trunk/test/Sema/conversion.c

Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=107995&r1=107994&r2=107995&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Fri Jul  9 13:18:35 2010
@@ -859,7 +859,8 @@
 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 @@
   "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<DiagGroup<"conversion">>, DefaultIgnore;
 def warn_impcast_complex_scalar : Warning<
-  "implicit cast discards imaginary component: %0 to %1">,
+  "implicit conversion discards imaginary component: %0 to %1">,
   InGroup<DiagGroup<"conversion">>, 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<DiagGroup<"conversion">>, 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<DiagGroup<"conversion">>, DefaultIgnore;
 def warn_impcast_integer_sign : Warning<
-  "implicit cast changes signedness: %0 to %1">,
+  "implicit conversion changes signedness: %0 to %1">,
   InGroup<DiagGroup<"conversion">>, DefaultIgnore;
 def warn_impcast_integer_sign_conditional : Warning<
   "operand of ? changes signedness: %0 to %1">,
   InGroup<DiagGroup<"conversion">>, DefaultIgnore;
 def warn_impcast_integer_precision : Warning<
-  "implicit cast loses integer precision: %0 to %1">,
+  "implicit conversion loses integer precision: %0 to %1">,
   InGroup<DiagGroup<"conversion">>, 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<DiagGroup<"shorten-64-to-32">>, DefaultIgnore;
 
 def warn_attribute_ignored_for_field_of_type : Warning<

Modified: cfe/trunk/test/Sema/address_spaces.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/address_spaces.c?rev=107995&r1=107994&r2=107995&view=diff
==============================================================================
--- cfe/trunk/test/Sema/address_spaces.c (original)
+++ cfe/trunk/test/Sema/address_spaces.c Fri Jul  9 13:18:35 2010
@@ -36,7 +36,7 @@
 // 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}}
 }
 

Modified: cfe/trunk/test/Sema/conversion-64-32.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/conversion-64-32.c?rev=107995&r1=107994&r2=107995&view=diff
==============================================================================
--- cfe/trunk/test/Sema/conversion-64-32.c (original)
+++ cfe/trunk/test/Sema/conversion-64-32.c Fri Jul  9 13:18:35 2010
@@ -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}}
 }

Modified: cfe/trunk/test/Sema/conversion.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/conversion.c?rev=107995&r1=107994&r2=107995&view=diff
==============================================================================
--- cfe/trunk/test/Sema/conversion.c (original)
+++ cfe/trunk/test/Sema/conversion.c Fri Jul  9 13:18:35 2010
@@ -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 @@
   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 @@
 }
 
 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 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 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 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 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 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 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 @@
   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 @@
 // <rdar://problem/7631400>
 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'}}
 }
 
 // <rdar://problem/7676608>: assertion for compound operators with non-integral RHS
@@ -291,9 +291,9 @@
 // <rdar://problem/7904686>
 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}}  
 }





More information about the cfe-commits mailing list