diff options
author | Anders Carlsson <andersca@mac.com> | 2009-12-02 17:15:43 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-12-02 17:15:43 +0000 |
commit | f98849eb8aa991668e5c47eeb7b2899772af3810 (patch) | |
tree | 11966ec08d59ff029272b1a82e0237c433a1589d /clang/lib/Sema/Sema.h | |
parent | fffbc0c5d92deee5304a4e0b560e15f36f07b944 (diff) | |
download | bcm5719-llvm-f98849eb8aa991668e5c47eeb7b2899772af3810.tar.gz bcm5719-llvm-f98849eb8aa991668e5c47eeb7b2899772af3810.zip |
In Sema, whenever we think that a function is going to cause a vtable to be generated, we mark any virtual implicit member functions as referenced.
llvm-svn: 90327
Diffstat (limited to 'clang/lib/Sema/Sema.h')
-rw-r--r-- | clang/lib/Sema/Sema.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index 98880e9d5f8..2b48efb4952 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -1932,8 +1932,7 @@ public: QualType Argument); bool FindDeallocationFunction(SourceLocation StartLoc, CXXRecordDecl *RD, - DeclarationName Name, FunctionDecl* &Operator, - bool Diagnose=true); + DeclarationName Name, FunctionDecl* &Operator); /// ActOnCXXDelete - Parsed a C++ 'delete' expression virtual OwningExprResult ActOnCXXDelete(SourceLocation StartLoc, @@ -2128,6 +2127,12 @@ public: /// as referenced. void MarkBaseAndMemberDestructorsReferenced(CXXDestructorDecl *Destructor); + /// MaybeMarkVirtualImplicitMembersReferenced - If the passed in method is the + /// key function of the record decl, will mark virtual member functions as + /// referenced. + void MaybeMarkVirtualImplicitMembersReferenced(SourceLocation Loc, + CXXMethodDecl *MD); + void AddImplicitlyDeclaredMembersToClass(CXXRecordDecl *ClassDecl); virtual void ActOnMemInitializers(DeclPtrTy ConstructorDecl, @@ -2160,7 +2165,7 @@ public: void CheckConstructor(CXXConstructorDecl *Constructor); QualType CheckDestructorDeclarator(Declarator &D, FunctionDecl::StorageClass& SC); - bool CheckDestructor(CXXDestructorDecl *Destructor, bool Diagnose=true); + bool CheckDestructor(CXXDestructorDecl *Destructor); void CheckConversionDeclarator(Declarator &D, QualType &R, FunctionDecl::StorageClass& SC); DeclPtrTy ActOnConversionDeclarator(CXXConversionDecl *Conversion); |