summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/Sema.h
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-12-02 17:15:43 +0000
committerAnders Carlsson <andersca@mac.com>2009-12-02 17:15:43 +0000
commitf98849eb8aa991668e5c47eeb7b2899772af3810 (patch)
tree11966ec08d59ff029272b1a82e0237c433a1589d /clang/lib/Sema/Sema.h
parentfffbc0c5d92deee5304a4e0b560e15f36f07b944 (diff)
downloadbcm5719-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.h11
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);
OpenPOWER on IntegriCloud