Author: arphaman Date: Wed Apr 26 08:09:28 2017 New Revision: 301402 URL: http://llvm.org/viewvc/llvm-project?rev=301402&view=rev Log: -Wdocumentation should not check the @returns command for Objective-C function/block pointer properties
The commit r300981 allowed @param/@return commands for function/block pointer property declarations. This meant that -Wdocumentation started warning about @return that was used to document properties whose function/block type returned void. However, prior to that commit, we allowed @return for all property declarations, because it can be used to document the value that's returned by the property getter. This commit restores the previous behaviour: now the @return command can be used to document all properties without warnings. rdar://24978538 Modified: cfe/trunk/lib/AST/CommentSema.cpp cfe/trunk/test/Sema/warn-documentation.m Modified: cfe/trunk/lib/AST/CommentSema.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/CommentSema.cpp?rev=301402&r1=301401&r2=301402&view=diff ============================================================================== --- cfe/trunk/lib/AST/CommentSema.cpp (original) +++ cfe/trunk/lib/AST/CommentSema.cpp Wed Apr 26 08:09:28 2017 @@ -584,6 +584,10 @@ void Sema::checkReturnsCommand(const Blo assert(ThisDeclInfo && "should not call this check on a bare comment"); + // We allow the return command for all @properties because it can be used + // to document the value that the property getter returns. + if (isObjCPropertyDecl()) + return; if (isFunctionDecl() || isFunctionOrBlockPointerVarLikeDecl()) { if (ThisDeclInfo->ReturnType->isVoidType()) { unsigned DiagKind; @@ -610,8 +614,6 @@ void Sema::checkReturnsCommand(const Blo } return; } - else if (isObjCPropertyDecl()) - return; Diag(Command->getLocation(), diag::warn_doc_returns_not_attached_to_a_function_decl) Modified: cfe/trunk/test/Sema/warn-documentation.m URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/warn-documentation.m?rev=301402&r1=301401&r2=301402&view=diff ============================================================================== --- cfe/trunk/test/Sema/warn-documentation.m (original) +++ cfe/trunk/test/Sema/warn-documentation.m Wed Apr 26 08:09:28 2017 @@ -290,4 +290,12 @@ void (^_Nullable blockPointerVariableTha */ @property int (^blockPointerProperty)(int i); +/** + * blockReturnsNothing + * + * \returns Nothing, but can allow this as this pattern is used to document the + * value that the property getter returns. + */ +@property void (^blockReturnsNothing)(); + @end _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits