aboutsummaryrefslogtreecommitdiff
path: root/lib/Edit/RewriteObjCFoundationAPI.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-05-24 16:48:23 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-05-24 16:48:23 +0000
commit013a254a5b85cfb54066e4022649368689c9ab06 (patch)
treec41d728c37a4a0474b89d370013946bf2e0ca435 /lib/Edit/RewriteObjCFoundationAPI.cpp
parent8e0317eb6847c0039760b2bb81a3e17c8218bc30 (diff)
[objcmt] Warn when modern objc migrator does not convert a NSNumber message because it requires a cast.
rdar://11525138 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157395 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Edit/RewriteObjCFoundationAPI.cpp')
-rw-r--r--lib/Edit/RewriteObjCFoundationAPI.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Edit/RewriteObjCFoundationAPI.cpp b/lib/Edit/RewriteObjCFoundationAPI.cpp
index 7445700cc4..9c00d9ea77 100644
--- a/lib/Edit/RewriteObjCFoundationAPI.cpp
+++ b/lib/Edit/RewriteObjCFoundationAPI.cpp
@@ -801,8 +801,14 @@ static bool rewriteToNumericBoxedExpression(const ObjCMessageExpr *Msg,
}
}
- if (needsCast)
+ if (needsCast) {
+ 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();
return false;
+ }
SourceRange ArgRange = OrigArg->getSourceRange();
commit.replaceWithInner(Msg->getSourceRange(), ArgRange);