summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/Expr.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-03-30 18:22:15 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-03-30 18:22:15 +0000
commit5cab26d058d3181ebdf1dbb9411c33229d1842cf (patch)
tree72a34fa0d667e02205c85291f616e4915d9ce89c /clang/lib/AST/Expr.cpp
parent9897043928aebe05b3e56e7860eda862db767727 (diff)
downloadbcm5719-llvm-5cab26d058d3181ebdf1dbb9411c33229d1842cf.tar.gz
bcm5719-llvm-5cab26d058d3181ebdf1dbb9411c33229d1842cf.zip
Add Support for 'warn_unused_result" attribute on
objective-c methods. (radar 7418262). llvm-svn: 99903
Diffstat (limited to 'clang/lib/AST/Expr.cpp')
-rw-r--r--clang/lib/AST/Expr.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp
index 6a71e925d9b..b4e5a5d9602 100644
--- a/clang/lib/AST/Expr.cpp
+++ b/clang/lib/AST/Expr.cpp
@@ -914,8 +914,15 @@ bool Expr::isUnusedResultAWarning(SourceLocation &Loc, SourceRange &R1,
case CXXConstructExprClass:
return false;
- case ObjCMessageExprClass:
+ case ObjCMessageExprClass: {
+ const ObjCMessageExpr *ME = cast<ObjCMessageExpr>(this);
+ const ObjCMethodDecl *MD = ME->getMethodDecl();
+ if (MD && MD->getAttr<WarnUnusedResultAttr>()) {
+ Loc = getExprLoc();
+ return true;
+ }
return false;
+ }
case ObjCImplicitSetterGetterRefExprClass: { // Dot syntax for message send.
#if 0
OpenPOWER on IntegriCloud