diff options
| author | Dmitri Gribenko <gribozavr@gmail.com> | 2012-08-06 16:29:26 +0000 |
|---|---|---|
| committer | Dmitri Gribenko <gribozavr@gmail.com> | 2012-08-06 16:29:26 +0000 |
| commit | 558babc53bcb0ac8d2722d7b23628befa6a694f2 (patch) | |
| tree | c473493466616aaf5d7f11293affb0269a21641a /clang/lib | |
| parent | e9982672823ab7a98ac2d893352c747cc827ce62 (diff) | |
| download | bcm5719-llvm-558babc53bcb0ac8d2722d7b23628befa6a694f2.tar.gz bcm5719-llvm-558babc53bcb0ac8d2722d7b23628befa6a694f2.zip | |
Comment diagnostics: \return in void function: specialize diagnostic text for
ObjC methods.
llvm-svn: 161324
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/AST/Comment.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/AST/CommentSema.cpp | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/AST/Comment.cpp b/clang/lib/AST/Comment.cpp index ac224ccecd3..e35b2a3d5e0 100644 --- a/clang/lib/AST/Comment.cpp +++ b/clang/lib/AST/Comment.cpp @@ -145,6 +145,7 @@ void DeclInfo::fill() { IsTemplateDecl = false; IsTemplateSpecialization = false; IsTemplatePartialSpecialization = false; + IsObjCMethod = false; IsInstanceMethod = false; IsClassMethod = false; ParamVars = ArrayRef<const ParmVarDecl *>(); @@ -193,6 +194,7 @@ void DeclInfo::fill() { ParamVars = ArrayRef<const ParmVarDecl *>(MD->param_begin(), MD->param_size()); ResultType = MD->getResultType(); + IsObjCMethod = true; IsInstanceMethod = MD->isInstanceMethod(); IsClassMethod = !IsInstanceMethod; break; diff --git a/clang/lib/AST/CommentSema.cpp b/clang/lib/AST/CommentSema.cpp index c8422508d38..770d5bba244 100644 --- a/clang/lib/AST/CommentSema.cpp +++ b/clang/lib/AST/CommentSema.cpp @@ -481,7 +481,10 @@ void Sema::checkReturnsCommand(const BlockCommandComment *Command) { unsigned DiagKind; switch (ThisDeclInfo->ThisDecl->getKind()) { default: - DiagKind = 0; + if (ThisDeclInfo->IsObjCMethod) + DiagKind = 3; + else + DiagKind = 0; break; case Decl::CXXConstructor: DiagKind = 1; |

