aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/Basic/DiagnosticCommentKinds.td2
-rw-r--r--lib/AST/CommentSema.cpp1
-rw-r--r--test/Sema/warn-documentation.cpp8
3 files changed, 10 insertions, 1 deletions
diff --git a/include/clang/Basic/DiagnosticCommentKinds.td b/include/clang/Basic/DiagnosticCommentKinds.td
index f8a2af398d..73c0dc9dd0 100644
--- a/include/clang/Basic/DiagnosticCommentKinds.td
+++ b/include/clang/Basic/DiagnosticCommentKinds.td
@@ -69,7 +69,7 @@ def warn_doc_param_spaces_in_direction : Warning<
InGroup<DocumentationPedantic>, DefaultIgnore;
def warn_doc_param_not_attached_to_a_function_decl : Warning<
- "'\\param' command used in a comment that is not attached to "
+ "'%select{\\|@}0param' command used in a comment that is not attached to "
"a function declaration">,
InGroup<Documentation>, DefaultIgnore;
diff --git a/lib/AST/CommentSema.cpp b/lib/AST/CommentSema.cpp
index e7bd5c8cad..3e4b28356b 100644
--- a/lib/AST/CommentSema.cpp
+++ b/lib/AST/CommentSema.cpp
@@ -78,6 +78,7 @@ ParamCommandComment *Sema::actOnParamCommandStart(SourceLocation LocBegin,
if (!isFunctionDecl())
Diag(Command->getLocation(),
diag::warn_doc_param_not_attached_to_a_function_decl)
+ << AtCommand
<< Command->getCommandNameRange(Traits);
return Command;
diff --git a/test/Sema/warn-documentation.cpp b/test/Sema/warn-documentation.cpp
index d166ae0b58..f9eb458ce8 100644
--- a/test/Sema/warn-documentation.cpp
+++ b/test/Sema/warn-documentation.cpp
@@ -907,3 +907,11 @@ struct s;
struct q* g(void);
struct q;
+// expected-warning@+3 {{'@param' command used in a comment that is not attached to a function declaration}}
+// expected-warning@+3 {{'@result' command used in a comment that is not attached to a function or method declaration}}
+/*! @function Base64EncodeEx
+ @param inFlags This is error flag
+ @result Error
+*/
+typedef unsigned int Base64Flags;
+unsigned Base64EncodeEx(Base64Flags inFlags);