[all-commits] [llvm/llvm-project] 99d358: Comment parsing: Specify argument numbers for some...

Aaron Puchert via All-commits all-commits at lists.llvm.org
Fri May 13 04:49:39 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 99d35826a043916b259a0e440a2aa5cabbad2773
      https://github.com/llvm/llvm-project/commit/99d35826a043916b259a0e440a2aa5cabbad2773
  Author: Aaron Puchert <aaron.puchert at sap.com>
  Date:   2022-05-13 (Fri, 13 May 2022)

  Changed paths:
    M clang/include/clang/AST/CommentCommands.td
    M clang/test/AST/ast-dump-comment.cpp
    M clang/test/Sema/warn-documentation.cpp

  Log Message:
  -----------
  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


  Commit: d3a4033d6ee1d017e216ff7caeeeb5ca2e18a783
      https://github.com/llvm/llvm-project/commit/d3a4033d6ee1d017e216ff7caeeeb5ca2e18a783
  Author: Aaron Puchert <aaron.puchert at sap.com>
  Date:   2022-05-13 (Fri, 13 May 2022)

  Changed paths:
    M clang/include/clang/AST/Comment.h
    M clang/include/clang/AST/CommentCommands.td
    M clang/include/clang/AST/CommentParser.h
    M clang/include/clang/AST/CommentSema.h
    M clang/include/clang/Basic/DiagnosticCommentKinds.td
    M clang/lib/AST/CommentParser.cpp
    M clang/lib/AST/CommentSema.cpp
    M clang/test/AST/ast-dump-comment.cpp
    M clang/test/Headers/x86-intrinsics-headers-clean.cpp
    M clang/test/Sema/warn-documentation.cpp

  Log Message:
  -----------
  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


  Commit: d2396d896ee12ad20bc740174edfce2120d742b2
      https://github.com/llvm/llvm-project/commit/d2396d896ee12ad20bc740174edfce2120d742b2
  Author: Aaron Puchert <aaron.puchert at sap.com>
  Date:   2022-05-13 (Fri, 13 May 2022)

  Changed paths:
    M clang/include/clang/AST/CommentCommands.td

  Log Message:
  -----------
  Comment parsing: Treat properties as zero-argument inline commands

That is more accurate, and using a separate class in TableGen seems
appropriate since these are not parts of the text but properties of the
declaration itself.

Reviewed By: gribozavr2

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


Compare: https://github.com/llvm/llvm-project/compare/562ce1592456...d2396d896ee1


More information about the All-commits mailing list