aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-06-20 01:28:32 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-06-20 01:28:32 +0000
commit8b9fcd7cd1f92e67655899d00fbaeb125c5a0d88 (patch)
treefd54cf829eed078807e91e8054fe935789f4b579
parente3bbfcae61c861145be62d9739f0ffdd6fabe3f3 (diff)
[objcmt] Have the modern objc migration warning change from:
[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
-rw-r--r--lib/Edit/RewriteObjCFoundationAPI.cpp5
-rw-r--r--test/ARCMT/objcmt-boxing.m2
-rw-r--r--test/ARCMT/objcmt-boxing.m.result2
3 files changed, 5 insertions, 4 deletions
diff --git a/lib/Edit/RewriteObjCFoundationAPI.cpp b/lib/Edit/RewriteObjCFoundationAPI.cpp
index feecc70ec1..6ef2e642fb 100644
--- a/lib/Edit/RewriteObjCFoundationAPI.cpp
+++ b/lib/Edit/RewriteObjCFoundationAPI.cpp
@@ -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;
}
diff --git a/test/ARCMT/objcmt-boxing.m b/test/ARCMT/objcmt-boxing.m
index 68c1223f68..2ad65a1399 100644
--- a/test/ARCMT/objcmt-boxing.m
+++ b/test/ARCMT/objcmt-boxing.m
@@ -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() {
diff --git a/test/ARCMT/objcmt-boxing.m.result b/test/ARCMT/objcmt-boxing.m.result
index 35da8dc4f1..f1019892ff 100644
--- a/test/ARCMT/objcmt-boxing.m.result
+++ b/test/ARCMT/objcmt-boxing.m.result
@@ -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() {