aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/CommentSema.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-03-06 17:36:51 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-03-06 17:36:51 +0000
commit88f070f99f7f352e294eed212fdf7a23c0815fe2 (patch)
tree36d93c0bd8bf1b8c37a69af1ba041dd8d14e524b /lib/AST/CommentSema.cpp
parentf2e7c35ade3d28ef1c5ad91f757a7993b0006bbe (diff)
say objective-C in the warning and streamline
several diagnostics into one. // rdar://13094352 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176560 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/CommentSema.cpp')
-rw-r--r--lib/AST/CommentSema.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/AST/CommentSema.cpp b/lib/AST/CommentSema.cpp
index a834bb4b03..68a9ebbd5a 100644
--- a/lib/AST/CommentSema.cpp
+++ b/lib/AST/CommentSema.cpp
@@ -93,17 +93,16 @@ void Sema::checkFunctionDeclVerbatimLine(const BlockCommandComment *Comment) {
if (!Info->IsFunctionDeclarationCommand)
return;
StringRef Name = Info->Name;
- unsigned DiagKind = llvm::StringSwitch<unsigned>(Name)
- .Case("function", !isAnyFunctionDecl() ?
- diag::warn_doc_function_not_attached_to_a_function_decl : 0)
- .Case("method", !isObjCMethodDecl() ?
- diag::warn_doc_method_not_attached_to_a_objc_method_decl : 0)
- .Case("callback", !isFunctionPointerVarDecl() ?
- diag::warn_doc_callback_not_attached_to_a_function_ptr_decl : 0)
+ unsigned DiagSelect = llvm::StringSwitch<unsigned>(Name)
+ .Case("function", !isAnyFunctionDecl() ? 1 : 0)
+ .Case("method", !isObjCMethodDecl() ? 2 : 0)
+ .Case("callback", !isFunctionPointerVarDecl() ? 3 : 0)
.Default(0);
- if (DiagKind)
- Diag(Comment->getLocation(), DiagKind) << Comment->getCommandMarker()
+ if (DiagSelect)
+ Diag(Comment->getLocation(), diag::warn_doc_function_method_decl_mismatch)
+ << Comment->getCommandMarker()
+ << (DiagSelect-1) << (DiagSelect-1)
<< Comment->getSourceRange();
}