[all-commits] [llvm/llvm-project] 78e636: [clang][NFC] Generate the {Type, ArrayType, UnaryExp...

Bruno Ricci via All-commits all-commits at lists.llvm.org
Thu Jun 11 06:36:45 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 78e636b3f2f0b0487130b31fade4f95ab179a18c
      https://github.com/llvm/llvm-project/commit/78e636b3f2f0b0487130b31fade4f95ab179a18c
  Author: Bruno Ricci <riccibrun at gmail.com>
  Date:   2020-06-11 (Thu, 11 Jun 2020)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/ExpressionTraits.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/TypeTraits.h
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.h
    M clang/lib/Basic/CMakeLists.txt
    A clang/lib/Basic/ExpressionTraits.cpp
    A clang/lib/Basic/TypeTraits.cpp
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [clang][NFC] Generate the {Type,ArrayType,UnaryExprOrType,Expression}Traits...

...enumerations from TokenKinds.def and use the new macros from TokenKinds.def
to remove the hard-coded lists of traits.

All the information needed to generate these enumerations is already present
in TokenKinds.def. The motivation here is to be able to dump the trait spelling
without hard-coding the list in yet another place.

Note that this change the order of the enumerators in the enumerations (except
that in the TypeTrait enumeration all unary type traits are before all binary
type traits, and all binary type traits are before all n-ary type traits).

Apart from the aforementioned ordering which is relied upon, after this patch
no code in clang or in the various clang tools depend on the specific ordering
of the enumerators.

No functional changes intended.

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

Reviewed By: aaron.ballman




More information about the All-commits mailing list