summaryrefslogtreecommitdiffstats
path: root/clang/lib/ARCMigrate/TransAPIUses.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-05-01 00:24:09 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-05-01 00:24:09 +0000
commitbcf2bdc922d64778694dfd51fc125dc2396d7996 (patch)
treedfba7b9100e98992d8d80c2b05e880fc8d47ed98 /clang/lib/ARCMigrate/TransAPIUses.cpp
parent99c272d3eb2d3068bf0dfa70dd91c61c3a0d6781 (diff)
downloadbcm5719-llvm-bcf2bdc922d64778694dfd51fc125dc2396d7996.tar.gz
bcm5719-llvm-bcf2bdc922d64778694dfd51fc125dc2396d7996.zip
Point diagnostics that complain about a use of a selector in an objc message, to the selector location.
Previously it would point to the left bracket or the receiver, which can be particularly problematic if the receiver is a block literal and we end up point the diagnostic far away for the selector that is complaining about. rdar://13620447 llvm-svn: 180833
Diffstat (limited to 'clang/lib/ARCMigrate/TransAPIUses.cpp')
-rw-r--r--clang/lib/ARCMigrate/TransAPIUses.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/ARCMigrate/TransAPIUses.cpp b/clang/lib/ARCMigrate/TransAPIUses.cpp
index 2305b6defd9..a0994a6b459 100644
--- a/clang/lib/ARCMigrate/TransAPIUses.cpp
+++ b/clang/lib/ARCMigrate/TransAPIUses.cpp
@@ -91,12 +91,12 @@ public:
E->getSelector() == zoneSel &&
Pass.TA.hasDiagnostic(diag::err_unavailable,
diag::err_unavailable_message,
- E->getInstanceReceiver()->getExprLoc())) {
+ E->getSelectorLoc(0))) {
// Calling -zone is meaningless in ARC, change it to nil.
Transaction Trans(Pass.TA);
Pass.TA.clearDiagnostic(diag::err_unavailable,
diag::err_unavailable_message,
- E->getInstanceReceiver()->getExprLoc());
+ E->getSelectorLoc(0));
Pass.TA.replace(E->getSourceRange(), getNilString(Pass.Ctx));
}
return true;
OpenPOWER on IntegriCloud