summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-12-01 01:07:24 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-12-01 01:07:24 +0000
commit68500913ece9def8f11649fed41713d50e94728d (patch)
tree9b8b02fad900cd3b99dabfe01b73c20ff50875b3 /clang/lib
parentce81496fab8cea588631dded376a88de347c58f0 (diff)
downloadbcm5719-llvm-68500913ece9def8f11649fed41713d50e94728d.tar.gz
bcm5719-llvm-68500913ece9def8f11649fed41713d50e94728d.zip
When unknown method is sent to a receiver of
'Class' type, disgnostic should refere to a class method. Fixes // rdar://8592156 llvm-svn: 120517
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaExprObjC.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExprObjC.cpp b/clang/lib/Sema/SemaExprObjC.cpp
index 04b88e2bde9..047236b1bde 100644
--- a/clang/lib/Sema/SemaExprObjC.cpp
+++ b/clang/lib/Sema/SemaExprObjC.cpp
@@ -1075,7 +1075,9 @@ ExprResult Sema::BuildInstanceMessage(Expr *Receiver,
Expr **Args = reinterpret_cast<Expr **>(ArgsIn.release());
QualType ReturnType;
ExprValueKind VK = VK_RValue;
- if (CheckMessageArgumentTypes(Args, NumArgs, Sel, Method, false,
+ bool ClassMessage = (ReceiverType->isObjCClassType() ||
+ ReceiverType->isObjCQualifiedClassType());
+ if (CheckMessageArgumentTypes(Args, NumArgs, Sel, Method, ClassMessage,
LBracLoc, RBracLoc, ReturnType, VK))
return ExprError();
OpenPOWER on IntegriCloud