]> granicus.if.org Git - clang/commit
Model type attributes as regular Attrs.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 20 Aug 2018 21:47:29 +0000 (21:47 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 20 Aug 2018 21:47:29 +0000 (21:47 +0000)
commit98caebcbd84081b56f459524427596908af127bf
treef7659973640746f7b7555fd17d6005b6e8a21adb
parent6eed53ab5d3c252224d1df79d930d6ee04193195
Model type attributes as regular Attrs.

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 Attr fields.

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

This reinstates r339623, reverted in r339638, with a fix to not fail
template instantiation if we instantiate a QualType with no associated
type source information and we encounter an AttributedType.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@340215 91177308-0d34-0410-b5e6-96231b3b80d8
26 files changed:
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
test/SemaCXX/calling-conv-compat.cpp
utils/TableGen/ClangAttrEmitter.cpp