diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2012-04-20 22:00:46 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2012-04-20 22:00:46 +0000 |
commit | 344d65c2487b7ba8fbf0c5e016522019c44d4a24 (patch) | |
tree | d3e15d8b1b0f187620890475d811d627355003fd /clang/lib | |
parent | 7e53bd6fb01b062ece426252fb94c76bcce58941 (diff) | |
download | bcm5719-llvm-344d65c2487b7ba8fbf0c5e016522019c44d4a24.tar.gz bcm5719-llvm-344d65c2487b7ba8fbf0c5e016522019c44d4a24.zip |
objective-c arc: With currnt documentation,
objc_returns_inner_pointer attribute can be applied to
methods only. Diagnsose otherwise, instead of
crashing. // rdar://11253688
llvm-svn: 155245
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Sema/SemaDeclAttr.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 3770b3c3730..9004508a47e 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -3334,8 +3334,8 @@ static void handleObjCReturnsInnerPointerAttr(Sema &S, Decl *D, ObjCMethodDecl *method = dyn_cast<ObjCMethodDecl>(D); - if (!isa<ObjCMethodDecl>(method)) { - S.Diag(method->getLocStart(), diag::err_attribute_wrong_decl_type) + if (!method || !isa<ObjCMethodDecl>(method)) { + S.Diag(D->getLocStart(), diag::err_attribute_wrong_decl_type) << SourceRange(loc, loc) << attr.getName() << ExpectedMethod; return; } |