summaryrefslogtreecommitdiffstats
path: root/clang/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
commitb482260748fee8daad24920331d7be74642a6d17 (patch)
tree8edd15785a362cc59d2d08266e04354db319a3ed /clang/lib/Edit/RewriteObjCFoundationAPI.cpp
parent870265636caaac6ab8ad3d23eb0d306a4a131077 (diff)
downloadbcm5719-llvm-b482260748fee8daad24920331d7be74642a6d17.tar.gz
bcm5719-llvm-b482260748fee8daad24920331d7be74642a6d17.zip
[objcmt] Warn when modern objc migrator does not convert a NSNumber message because it requires a cast.
rdar://11525138 llvm-svn: 157395
Diffstat (limited to 'clang/lib/Edit/RewriteObjCFoundationAPI.cpp')
-rw-r--r--clang/lib/Edit/RewriteObjCFoundationAPI.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Edit/RewriteObjCFoundationAPI.cpp b/clang/lib/Edit/RewriteObjCFoundationAPI.cpp
index 7445700cc49..9c00d9ea779 100644
--- a/clang/lib/Edit/RewriteObjCFoundationAPI.cpp
+++ b/clang/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);
OpenPOWER on IntegriCloud