summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/Decl.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2013-04-16 07:28:30 +0000
committerJohn McCall <rjmccall@apple.com>2013-04-16 07:28:30 +0000
commit5e77d76c953d915bfbbdc8c719e91e6fbc32e1f1 (patch)
tree1d9c716039e60789f7e65368080918995eafa605 /clang/lib/AST/Decl.cpp
parent53756c4a897d268b6af9eb129ce2017a3d79ff8f (diff)
downloadbcm5719-llvm-5e77d76c953d915bfbbdc8c719e91e6fbc32e1f1.tar.gz
bcm5719-llvm-5e77d76c953d915bfbbdc8c719e91e6fbc32e1f1.zip
Basic support for Microsoft property declarations and
references thereto. Patch by Tong Shen! llvm-svn: 179585
Diffstat (limited to 'clang/lib/AST/Decl.cpp')
-rw-r--r--clang/lib/AST/Decl.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index 9505d299ab1..36044826e83 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -1293,7 +1293,7 @@ bool NamedDecl::isCXXInstanceMember() const {
if (isa<UsingShadowDecl>(D))
D = cast<UsingShadowDecl>(D)->getTargetDecl();
- if (isa<FieldDecl>(D) || isa<IndirectFieldDecl>(D))
+ if (isa<FieldDecl>(D) || isa<IndirectFieldDecl>(D) || isa<MSPropertyDecl>(D))
return true;
if (isa<CXXMethodDecl>(D))
return cast<CXXMethodDecl>(D)->isInstance();
@@ -3226,6 +3226,14 @@ BlockDecl *BlockDecl::CreateDeserialized(ASTContext &C, unsigned ID) {
return new (Mem) BlockDecl(0, SourceLocation());
}
+MSPropertyDecl *MSPropertyDecl::CreateDeserialized(ASTContext &C,
+ unsigned ID) {
+ void *Mem = AllocateDeserializedDecl(C, ID, sizeof(MSPropertyDecl));
+ return new (Mem) MSPropertyDecl(0, SourceLocation(), DeclarationName(),
+ QualType(), 0, SourceLocation(),
+ 0, 0);
+}
+
EnumConstantDecl *EnumConstantDecl::Create(ASTContext &C, EnumDecl *CD,
SourceLocation L,
IdentifierInfo *Id, QualType T,
OpenPOWER on IntegriCloud