]> granicus.if.org Git - clang/commitdiff
[objcmt] Have the modern objc migration warning change from:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 20 Jun 2012 01:28:32 +0000 (01:28 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 20 Jun 2012 01:28:32 +0000 (01:28 +0000)
[NSNumber numberWithDouble:cppb];
warning: converting to boxing syntax requires a cast

to something like:

[NSNumber numberWithDouble:cppb];
warning: converting to boxing syntax requires casting 'bool' to 'double'

This is way better to fully understand the warning.
rdar://11705106

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158783 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Edit/RewriteObjCFoundationAPI.cpp
test/ARCMT/objcmt-boxing.m
test/ARCMT/objcmt-boxing.m.result

index feecc70ec1450370197f73502317429ffe41bce7..6ef2e642fb4502051a852a1c7782b6917e809ece 100644 (file)
@@ -852,8 +852,9 @@ static bool rewriteToNumericBoxedExpression(const ObjCMessageExpr *Msg,
     DiagnosticsEngine &Diags = Ctx.getDiagnostics(); 
     // FIXME: Use a custom category name to distinguish migration diagnostics.
     unsigned diagID = Diags.getCustomDiagID(DiagnosticsEngine::Warning,
-                      "converting to boxing syntax requires a cast");
-    Diags.Report(Msg->getExprLoc(), diagID) << Msg->getSourceRange();
+                       "converting to boxing syntax requires casting %0 to %1");
+    Diags.Report(Msg->getExprLoc(), diagID) << OrigTy << FinalTy
+        << Msg->getSourceRange();
     return false;
   }
 
index 68c1223f681fd317c01c4a4611943cf23496f95f..2ad65a1399db6abe2c52b5720ac94fa08ea1070a 100644 (file)
@@ -81,7 +81,7 @@ void foo() {
   MyEnm myenum; 
   [NSNumber numberWithInteger:myenum];
   [NSNumber numberWithInteger:ME_foo];
-  [NSNumber numberWithDouble:cppb]; // expected-warning {{converting to boxing syntax requires a cast}}
+  [NSNumber numberWithDouble:cppb]; // expected-warning {{converting to boxing syntax requires casting 'bool' to 'double'}}
 }
 
 void boxString() {
index 35da8dc4f1904735bba7b452f5c1f3db318f52fc..f1019892ff3730edf1a767886a2b9217f3a8affd 100644 (file)
@@ -81,7 +81,7 @@ void foo() {
   MyEnm myenum; 
   @(myenum);
   @(ME_foo);
-  [NSNumber numberWithDouble:cppb]; // expected-warning {{converting to boxing syntax requires a cast}}
+  [NSNumber numberWithDouble:cppb]; // expected-warning {{converting to boxing syntax requires casting 'bool' to 'double'}}
 }
 
 void boxString() {