History log of /external/clang/test/Sema/warn-documentation.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9edd2c8a2ff6c6326ff2d5b081929e4baaa798ed 24-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment diagnostics: for unresolved parameters, do not suggest parameter fixit
with parameter that is documented.

Fixes PR13670, <rdar://problem/12155840>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
70ff1091315c60fed68d7197c637ec8c588e67a1 24-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment semantic analysis: treat function typedefs as functions so that one can
use \param and \returns in documentation.

Fixes PR13533.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
834a5bd311b4a32f89937ca5b6dd2b4111891859 23-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment parsing: parse "<blah" as an HTML tag only if "blah" is a known tag
name. This should reduce the amount of warning false positives about bad HTML
in comments when the comment author intended to put a reference to a template.
This change will also enable us parse the comment as intended in these cases.

Fixes part 1 of PR13374.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
1599eac40a3b28de0824013dc2fb90551dfa01b0 16-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Attaching comments to declarations: parse the comment in context of the
declaration it was attached to.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
c41ace950dcf2254c9aa48e73647b89c35109f80 14-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Attaching comments to redeclarations: fix wrong assumptions

The reason for the recent fallout for "attaching comments to any redeclaration"
change are two false assumptions:
(1) a RawComment is attached to a single decl (not true for 'typedef struct X *Y'
where we want the comment to be attached to both X and Y);
(2) the whole redeclaration chain has only a single comment (obviously false, the
user can put a separate comment for each redeclaration).

To fix (1) I revert the part of the recent change where a 'Decl*' member was
introduced to RawComment. Now ASTContext has a separate DenseMap for mapping
'Decl*' to 'FullComment*'.

To fix (2) I just removed the test with this assumption. We might not parse
every comment in redecl chain if we already parsed at least one.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
cd81df2dcff4e13eea6edfbfd52a4458d978d174 13-Aug-2012 Douglas Gregor <dgregor@apple.com> When looking for the comment associated with a declaration, adjust the
'templated' declaration for a function or class template to refer to
the function or class template itself, to which the documentation will
be attached. Fixes PR13593.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
f303d4cb10648ac9c2080ae7c9dd507ba615e3a7 07-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> libclang API for comment-to-xml conversion.

The implementation also includes a Relax NG schema and tests for the schema
itself. The schema is used in c-index-test to verify that XML documents we
produce are valid. In order to do the validation, we add an optional libxml2
dependency for c-index-test.

Credits for CMake part go to Doug Gregor. Credits for Autoconf part go to Eric
Christopher. Thanks!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
9443c57150e870e308406e1e4e6d9d64712b417e 06-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment diagnostics: warn on duplicate \brief and \return commands.

Doxygen manual claims that multiple \brief or \returns commands will be merged
together, but actual behavior is different (second \brief command becomes a
part of a discussion, second \returns becomes a "Returns: blah" paragraph on
its own). Anyway, it seems to be a bad idea to use multiple \brief or \returns
commands in a single command.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
88815f3f81361692dd281000e3e46bf163b2f28b 06-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment diagnostics: \return in void function: specialize diagnostic text for
ObjC methods.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
89ab7d0012ffe02a335b765eeb9b48977a5ecd79 03-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment diagnostics: warn if \returns is used in a non-function comment or if
the function returns void.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
967e5d7ebb775a93f9c200d19d557d18bf945f10 02-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Comments: handle template paramter documentation in alias-declaration
templates.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
c27bc80a98b9558513b50956c930eedc9e461ae0 02-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Attaching comments to declarations: handle using-declaration.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
96b098674908eaa59a9128f3305cda6fbbdad563 01-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment parsing: add support for \tparam command on all levels.

The only caveat is renumbering CXCommentKind enum for aesthetic reasons -- this
breaks libclang binary compatibility, but should not be a problem since API is
so new.

This also fixes PR13372 as a side-effect.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
e5deb79d0e7f1c81fdc9ae89ed5a4edc9a589581 30-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment parser: don't crash on a completely empty \param followed by a block
command


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
2e7210458d391159b121edb77e3b7f35b69f4f68 24-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment parsing tests: fix test


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
56bf6fd5ea33e3c8c798d908483f3a6266c7a615 24-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment diagnostics tests: add a function with zero arguments, for completeness.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
6582277bfc8bb587602e2c0689b6b2ff4b9bef53 24-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment diagnostics: add warning for multiple \param commands with duplicate
parameter names.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
9f08f49929324ec6863e81b22a43fb2e8575b433 20-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Fix PR13411: Comment parsing: failed assertion on unterminated verbatim block.

The assertion was wrong in case we have a verbatim block without a closing
command.

Also add tests for closing command name in a verbatim block, since now it can
be empty in such cases.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
858e69fe1305bdffb76a200c0f498685f11e65ae 19-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Fix ParagraphComment::isWhitespace(): a paragraph without a non-whitespace
TextComment node was considered whitespace even if it contained other child
nodes.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
3f38bf2d441fac379c427f86153fbb0cb41256c6 13-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Comment parsing: repaint the bikesched: rename 'HTML open tags' to 'HTML start tags' and 'HTML close tags' to 'HTML end tags' according to HTML spec.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
3d986980bd02594b1a5aa7b9f9f68d201621ced7 13-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Make concepts of optional and forbidden end tags separate. Thanks Jordan for pointing this!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp
a5ef44ff5d93a3be6ca67782828157a71894cf0c 11-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Enable comment parsing and semantic analysis to emit diagnostics. A few
diagnostics implemented -- see testcases.

I created a new TableGen file for comment diagnostics,
DiagnosticCommentKinds.td, because comment diagnostics don't logically
fit into AST diagnostics file. But I don't feel strongly about it.

This also implements support for self-closing HTML tags in comment
lexer and parser (for example, <br />).

In order to issue precise diagnostics CommentSema needs to know the
declaration the comment is attached to. There is no easy way to find a decl by
comment, so we match comments and decls in lockstep: after parsing one
declgroup we check if we have any new, not yet attached comments. If we do --
then we do the usual comment-finding process.

It is interesting that this automatically handles trailing comments.
We pick up not only comments that precede the declaration, but also
comments that *follow* the declaration -- thanks to the lookahead in
the lexer: after parsing the declgroup we've consumed the semicolon
and looked ahead through comments.

Added -Wdocumentation-html flag for semantic HTML errors to allow the user to
disable only HTML warnings (but not HTML parse errors, which we emit as
warnings in -Wdocumentation).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Sema/warn-documentation.cpp