diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2010-03-30 18:22:15 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-03-30 18:22:15 +0000 |
| commit | 5cab26d058d3181ebdf1dbb9411c33229d1842cf (patch) | |
| tree | 72a34fa0d667e02205c85291f616e4915d9ce89c /clang/lib/AST/Expr.cpp | |
| parent | 9897043928aebe05b3e56e7860eda862db767727 (diff) | |
| download | bcm5719-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.cpp | 9 |
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 |

