[PATCH] D50526: Model type attributes as regular Attrs

Richard Smith - zygoloid via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 9 12:18:33 PDT 2018


rsmith created this revision.
rsmith added a reviewer: aaron.ballman.
rsmith added a project: clang.

Specifically, `AttributedType` now tracks a regular `attr::Kind` rather than having its own parallel `Kind` enumeration, and `AttributedTypeLoc` now holds an `Attr*` instead of holding an ad-hoc collection of fields mirroring those that would be present in the corresponding `Attr` subclass.

This aims to simplify and unify the modeling of attributes, both to make tooling simpler and to avoid code duplication for attributes that can be both type and declaration attributes.


Repository:
  rC Clang

https://reviews.llvm.org/D50526

Files:
  include/clang/AST/ASTContext.h
  include/clang/AST/Attr.h
  include/clang/AST/Type.h
  include/clang/AST/TypeLoc.h
  include/clang/Basic/Attr.td
  include/clang/Sema/Sema.h
  include/clang/Serialization/ASTReader.h
  include/clang/Serialization/ASTWriter.h
  lib/ARCMigrate/TransGCAttrs.cpp
  lib/ARCMigrate/Transforms.cpp
  lib/AST/ASTContext.cpp
  lib/AST/Type.cpp
  lib/AST/TypeLoc.cpp
  lib/AST/TypePrinter.cpp
  lib/Sema/SemaDecl.cpp
  lib/Sema/SemaExpr.cpp
  lib/Sema/SemaInit.cpp
  lib/Sema/SemaObjCProperty.cpp
  lib/Sema/SemaType.cpp
  lib/Sema/TreeTransform.h
  lib/Serialization/ASTReader.cpp
  lib/Serialization/ASTReaderDecl.cpp
  lib/Serialization/ASTWriter.cpp
  lib/StaticAnalyzer/Core/CheckerHelpers.cpp
  utils/TableGen/ClangAttrEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50526.159974.patch
Type: text/x-patch
Size: 84581 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180809/7afdcf39/attachment-0001.bin>


More information about the cfe-commits mailing list