|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4 |
|
| #
d3a4033d |
| 13-May-2022 |
Aaron Puchert <[email protected]> |
Comment parsing: Allow inline commands to have 0 or more than 1 argument
That's required to support `\n`, but can also be used for other commands. We already had the infrastructure in place to parse
Comment parsing: Allow inline commands to have 0 or more than 1 argument
That's required to support `\n`, but can also be used for other commands. We already had the infrastructure in place to parse a varying number of arguments, we simply needed to generalize it so that it would work not only for block commands.
This should fix #55319.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D125429
show more ...
|
| #
99d35826 |
| 13-May-2022 |
Aaron Puchert <[email protected]> |
Comment parsing: Specify argument numbers for some block commands
The command traits have a member NumArgs for which all the parsing infrastructure is in place, but no command was setting it to a va
Comment parsing: Specify argument numbers for some block commands
The command traits have a member NumArgs for which all the parsing infrastructure is in place, but no command was setting it to a value other than 0. By doing so we get warnings when passing an empty paragraph to \retval (the first argument is the return value, then comes the description). We also take \xrefitem along for the ride, although as the documentation states it's unlikely to be used directly.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D125422
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
| #
9f0fa654 |
| 14-Jan-2022 |
Aaron Puchert <[email protected]> |
Comment parsing: Don't recognize commands in single-line double quotation
This is consistent with the behavior of Doxygen, and allows users to write strings with C escapes or document input/output f
Comment parsing: Don't recognize commands in single-line double quotation
This is consistent with the behavior of Doxygen, and allows users to write strings with C escapes or document input/output formats containing special characters (@ or \) without escaping them, which might be confusing. For example, if a function wants to document its expected input format as "user@host" it doesn't have to write user\@host instead, which would look right in the documentation but confusing in the code. Now users can just use double quotes (which they might do anyway).
This fixes a lot of false positives of -Wdocumentation-unknown-command, but it could also fix issues with -Wdocumentation if the text triggers an actual command.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D116190
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
4e7df1ef |
| 12-Nov-2021 |
Aaron Puchert <[email protected]> |
Comment AST: Find out if function is variadic in DeclInfo::fill
Then we don't have to look into the declaration again. Also it's only natural to collect this information alongside parameters and ret
Comment AST: Find out if function is variadic in DeclInfo::fill
Then we don't have to look into the declaration again. Also it's only natural to collect this information alongside parameters and return type, as it's also just a parameter in some sense.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D113690
show more ...
|
| #
63ef0e17 |
| 09-Nov-2021 |
Aaron Puchert <[email protected]> |
Comment AST: Add support for variable templates
We treat them as variables of course, though if they have function pointer type we treat them as functions, i.e. allow parameter and return value spec
Comment AST: Add support for variable templates
We treat them as variables of course, though if they have function pointer type we treat them as functions, i.e. allow parameter and return value specifications. Just like VarDecls.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D111266
show more ...
|
| #
4d638243 |
| 09-Nov-2021 |
Aaron Puchert <[email protected]> |
Comment AST: Declare function pointer variables as functions
We were doing this already for type aliases, and it deduplicates the code looking through aliases and pointers to find a function type. A
Comment AST: Declare function pointer variables as functions
We were doing this already for type aliases, and it deduplicates the code looking through aliases and pointers to find a function type. As a side effect, this finds two warnings that we apparently missed before.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D111264
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4 |
|
| #
f23df1b2 |
| 05-Mar-2020 |
Aaron Puchert <[email protected]> |
Comment parsing: Treat \ref as inline command
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 p
Comment parsing: Treat \ref as inline command
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
show more ...
|
|
Revision tags: llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init |
|
| #
be1a9b38 |
| 21-Dec-2019 |
Mark de Wever <[email protected]> |
[Wdocumentation] Implement \anchor
Differential revision: https://reviews.llvm.org/D69223
|
|
Revision tags: llvmorg-9.0.1, llvmorg-9.0.1-rc3 |
|
| #
b6d386f6 |
| 10-Dec-2019 |
Mark de Wever <[email protected]> |
[Wdocumentation] Use C2x/C++14 deprecated attribute
This replaces the non-standard __attribute__((deprecated)) with the standard [[deprecated]] when compiling in C2x/C++14 mode.
Discovered while lo
[Wdocumentation] Use C2x/C++14 deprecated attribute
This replaces the non-standard __attribute__((deprecated)) with the standard [[deprecated]] when compiling in C2x/C++14 mode.
Discovered while looking at https://bugs.llvm.org/show_bug.cgi?id=43753
Differential Revision: https://reviews.llvm.org/D71141
show more ...
|
| #
b972f2d0 |
| 10-Dec-2019 |
Mark de Wever <[email protected]> |
[Wdocumentation] Properly place deprecated attribute
It is now placed before the function: - allows to replace __attribute__((deprecated)) with [[deprecated]]. - required for trailing returns.
Fixe
[Wdocumentation] Properly place deprecated attribute
It is now placed before the function: - allows to replace __attribute__((deprecated)) with [[deprecated]]. - required for trailing returns.
Fixes bug: https://bugs.llvm.org/show_bug.cgi?id=43753
Differential Revision: https://reviews.llvm.org/D71140
show more ...
|
| #
85fff898 |
| 10-Dec-2019 |
Mark de Wever <[email protected]> |
[Wdocumentation] Use the command marker.
Use the proper marker for -Wdocumentation-deprecated-sync instead of hard-coded the backslash.
Discovered while looking at https://bugs.llvm.org/show_bug.cg
[Wdocumentation] Use the command marker.
Use the proper marker for -Wdocumentation-deprecated-sync instead of hard-coded the backslash.
Discovered while looking at https://bugs.llvm.org/show_bug.cgi?id=43753
Differential Revision: https://reviews.llvm.org/D71139
show more ...
|
|
Revision tags: llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
| #
a433e714 |
| 13-Nov-2019 |
Sam McCall <[email protected]> |
[AST] Attach comment in `/** doc */ typedef struct A {} B` to B as well as A.
Summary: Semantically they're the same thing, and it's important when the underlying struct is anonymous.
There doesn't
[AST] Attach comment in `/** doc */ typedef struct A {} B` to B as well as A.
Summary: Semantically they're the same thing, and it's important when the underlying struct is anonymous.
There doesn't seem to be a problem attaching the same comment to multiple things as it already happens with `/** doc */ int a, b;`
This affects an Index test but the results look better (name present, USR points to the typedef).
Fixes https://github.com/clangd/clangd/issues/189
Reviewers: kadircet, lh123
Subscribers: ilya-biryukov, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70203
show more ...
|
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4 |
|
| #
d94b42f4 |
| 02-Sep-2019 |
Dmitri Gribenko <[email protected]> |
[Wdocumentation] fixes an assertion failure with typedefed function and block pointer
Summary: The assertion happens when compiling with -Wdocumentation with variable declaration to a typedefed func
[Wdocumentation] fixes an assertion failure with typedefed function and block pointer
Summary: The assertion happens when compiling with -Wdocumentation with variable declaration to a typedefed function pointer. I not too familiar with the ObjC syntax but first two tests assert without this patch.
Fixes https://bugs.llvm.org/show_bug.cgi?id=42844
Reviewers: gribozavr
Reviewed By: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66706
llvm-svn: 370677
show more ...
|
|
Revision tags: llvmorg-9.0.0-rc3 |
|
| #
c955e4a9 |
| 25-Aug-2019 |
Dmitri Gribenko <[email protected]> |
[Wdocumentation] improve wording of a warning message
Based on @davezarzycki remarks in D64696 improved the wording of the warning message.
Differential Revision: https://reviews.llvm.org/D66700
P
[Wdocumentation] improve wording of a warning message
Based on @davezarzycki remarks in D64696 improved the wording of the warning message.
Differential Revision: https://reviews.llvm.org/D66700
Patch by Mark de Wever.
llvm-svn: 369873
show more ...
|
| #
982b105d |
| 20-Aug-2019 |
Stephan Bergmann <[email protected]> |
Rudimentary support for Doxygen \retval command
...so that at least a preceding \param etc. that lacks a description gets a -Wdocumentation warning (instead of erroneously treating the \retval ... t
Rudimentary support for Doxygen \retval command
...so that at least a preceding \param etc. that lacks a description gets a -Wdocumentation warning (instead of erroneously treating the \retval ... text as its paragraph).
Differential Revision: https://reviews.llvm.org/D66350
llvm-svn: 369345
show more ...
|
|
Revision tags: llvmorg-9.0.0-rc2 |
|
| #
657330ee |
| 05-Aug-2019 |
Dmitri Gribenko <[email protected]> |
Adds a warning when an inline Doxygen comment has no argument
Summary: It warns for for comments like /** \pre \em */
where \em has no argument
This warning is enabled with the -Wdocumentation opt
Adds a warning when an inline Doxygen comment has no argument
Summary: It warns for for comments like /** \pre \em */
where \em has no argument
This warning is enabled with the -Wdocumentation option.
Reviewers: gribozavr, rsmith
Reviewed By: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D64696
Patch by Mark de Wever.
llvm-svn: 367809
show more ...
|
|
Revision tags: llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1, llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1, llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1 |
|
| #
c6fbfd84 |
| 02-Oct-2018 |
Reid Kleckner <[email protected]> |
Remove spurious assertion in -Wdocumentation
Some code in OpenCV uses interesting doxygen directives that make it so we don't see any tokens inside a @note, despite there definitely being non-whites
Remove spurious assertion in -Wdocumentation
Some code in OpenCV uses interesting doxygen directives that make it so we don't see any tokens inside a @note, despite there definitely being non-whitespace characters there. The consistency check isn't needed. ParagraphComment supports receiving an empty list of comments.
Fixes PR39007
llvm-svn: 343641
show more ...
|
|
Revision tags: llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1, llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1, llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1 |
|
| #
e9baea81 |
| 06-Oct-2017 |
Alex Lorenz <[email protected]> |
-Wdocumentation should allow '...' params in variadic function type aliases
rdar://34811344
llvm-svn: 315103
|
|
Revision tags: llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1 |
|
| #
533777f2 |
| 02-Jul-2017 |
Hiroshi Inoue <[email protected]> |
fix trivial typos in comments; NFC
llvm-svn: 306969
|
|
Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1 |
|
| #
6b82a75d |
| 21-Apr-2017 |
Alex Lorenz <[email protected]> |
[PR32667] -Wdocumentation should allow @param/@returns for fields/variables that have a function/block pointer type
This commit improves the -Wdocumentation warning by making sure that @param and @r
[PR32667] -Wdocumentation should allow @param/@returns for fields/variables that have a function/block pointer type
This commit improves the -Wdocumentation warning by making sure that @param and @returns commands won't trigger warnings when used for fields, variables, or properties whose type is a function/block pointer type. The function/block pointer type must be specified directly with the declaration, and when a typedef is used the warning is still emitted.
In the future we might also want to handle the std::function type as well.
rdar://24978538
llvm-svn: 300981
show more ...
|
|
Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
| #
6080bdbe |
| 25-Aug-2016 |
Bruno Cardoso Lopes <[email protected]> |
[Sema][Comments] Add support for TypeAliasTemplate
Emit proper diagnostics when -Wdocumentation is used with constructs such as:
template<typename T> using fn = int(T aaa, int ccc);
Previously
[Sema][Comments] Add support for TypeAliasTemplate
Emit proper diagnostics when -Wdocumentation is used with constructs such as:
template<typename T> using fn = int(T aaa, int ccc);
Previously clang wouldn't recognize the function and complain with 'comment that is not attached to a function declaration'.
Differential Revision: https://reviews.llvm.org/D23860
rdar://problem/27300695
llvm-svn: 279754
show more ...
|
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3 |
|
| #
b09db225 |
| 24-Aug-2016 |
Bruno Cardoso Lopes <[email protected]> |
[Sema][Comments] Support @param with c++ 'using' keyword
Give appropriate warnings with -Wdocumentation for @param comments that refer to function aliases defined with 'using'. Very similar to typed
[Sema][Comments] Support @param with c++ 'using' keyword
Give appropriate warnings with -Wdocumentation for @param comments that refer to function aliases defined with 'using'. Very similar to typedef's behavior. This does not add support for TypeAliasTemplateDecl yet.
Differential Revision: https://reviews.llvm.org/D23783
rdar://problem/27300695
llvm-svn: 279662
show more ...
|
|
Revision tags: llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1, llvmorg-3.8.1, llvmorg-3.8.1-rc1, llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1, llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1, llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
| #
8b720625 |
| 15-Apr-2015 |
Dmitri Gribenko <[email protected]> |
Comment parsing: fix an assertion failure on a verbatim block terminated with "**/"
llvm-svn: 235057
|
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1, llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1, llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2 |
|
| #
93043620 |
| 22-Apr-2014 |
Dmitri Gribenko <[email protected]> |
Comment parsing: in the generated XML file, mark HTML that is safe to pass through to the output even if the input comment comes from an untrusted source
Attribute filtering is currently based on a
Comment parsing: in the generated XML file, mark HTML that is safe to pass through to the output even if the input comment comes from an untrusted source
Attribute filtering is currently based on a blacklist, which right now includes all event handler attributes (they contain JavaScipt code). It should be switched to a whitelist, but going over all of the HTML5 spec requires a significant amount of time.
llvm-svn: 206882
show more ...
|
|
Revision tags: llvmorg-3.4.1-rc1 |
|
| #
d9eb05ac |
| 19-Mar-2014 |
Dmitri Gribenko <[email protected]> |
Comment parsing: recognize \param ... on function templates with variadic parameters
Patch by Joe Ranieri.
llvm-svn: 204235
|