diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-05-01 00:24:09 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-05-01 00:24:09 +0000 |
commit | bcf2bdc922d64778694dfd51fc125dc2396d7996 (patch) | |
tree | dfba7b9100e98992d8d80c2b05e880fc8d47ed98 /clang/lib/ARCMigrate/TransAPIUses.cpp | |
parent | 99c272d3eb2d3068bf0dfa70dd91c61c3a0d6781 (diff) | |
download | bcm5719-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.cpp | 4 |
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; |