Comment parsing: Treat \ref as inline command
authorAaron Puchert <aaron.puchert@sap.com>
Thu, 5 Mar 2020 18:24:28 +0000 (19:24 +0100)
committerAaron Puchert <aaron.puchert@sap.com>
Thu, 5 Mar 2020 18:44:34 +0000 (19:44 +0100)
Summary:
It's basically Doxygen's version of a link and can happen anywhere
inside of a paragraph. Fixes a bogus warning about empty paragraphs when
a parameter description starts with a link.

Reviewers: gribozavr2

Reviewed By: gribozavr2

Differential Revision: https://reviews.llvm.org/D75632

clang/include/clang/AST/CommentCommands.td
clang/test/Sema/warn-documentation.cpp

index d387df7..fbbfc9f 100644 (file)
@@ -87,6 +87,7 @@ def P      : InlineCommand<"p">;
 def A      : InlineCommand<"a">;
 def E      : InlineCommand<"e">;
 def Em     : InlineCommand<"em">;
+def Ref    : InlineCommand<"ref">;
 def Anchor : InlineCommand<"anchor">;
 
 //===----------------------------------------------------------------------===//
@@ -205,7 +206,6 @@ def Paragraph     : VerbatimLineCommand<"paragraph">;
 
 def Mainpage : VerbatimLineCommand<"mainpage">;
 def Subpage  : VerbatimLineCommand<"subpage">;
-def Ref      : VerbatimLineCommand<"ref">;
 
 def Relates     : VerbatimLineCommand<"relates">;
 def Related     : VerbatimLineCommand<"related">;
index 3091c2f..2b2a3d1 100644 (file)
@@ -294,6 +294,9 @@ int test_param22(int x1, int x2, int x3);
 /// \retval 0 Blah blah.
 int test_param23(int a);
 
+/// \param a \ref test_param23 has an empty paragraph, this doesn't.
+int test_param24(int a);
+
 //===---
 // Test that we treat typedefs to some non-function types as functions for the
 // purposes of documentation comment parsing.