diff options
author | Anders Carlsson <andersca@mac.com> | 2009-11-30 23:41:22 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-11-30 23:41:22 +0000 |
commit | b1d3f7c909843b71a950a66debab300c155636d3 (patch) | |
tree | f220608d2460efc97bf3dcb519b8a81fc507424b /clang/lib/CodeGen/CGVtable.h | |
parent | 3ee8bc9b358dbcdd43cf37a50c032deaadbce922 (diff) | |
download | bcm5719-llvm-b1d3f7c909843b71a950a66debab300c155636d3.tar.gz bcm5719-llvm-b1d3f7c909843b71a950a66debab300c155636d3.zip |
Have ASTRecordLayout keep track of the key function, in preparation of fixing a synthetic ctor/dtor bug.
llvm-svn: 90168
Diffstat (limited to 'clang/lib/CodeGen/CGVtable.h')
-rw-r--r-- | clang/lib/CodeGen/CGVtable.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CGVtable.h b/clang/lib/CodeGen/CGVtable.h index ac3cdee63be..5c2b74c9dd8 100644 --- a/clang/lib/CodeGen/CGVtable.h +++ b/clang/lib/CodeGen/CGVtable.h @@ -91,6 +91,11 @@ class CGVtableInfo { void ComputeMethodVtableIndices(const CXXRecordDecl *RD); + /// GenerateClassData - Generate all the class data requires to be generated + /// upon definition of a KeyFunction. This includes the vtable, the + /// rtti data structure and the VTT. + void GenerateClassData(const CXXRecordDecl *RD); + public: CGVtableInfo(CodeGenModule &CGM) : CGM(CGM) { } @@ -111,10 +116,9 @@ public: llvm::Constant *getVtable(const CXXRecordDecl *RD); llvm::Constant *getCtorVtable(const CXXRecordDecl *RD, const CXXRecordDecl *Class, uint64_t Offset); - /// GenerateClassData - Generate all the class data requires to be generated - /// upon definition of a KeyFunction. This includes the vtable, the - /// rtti data structure and the VTT. - void GenerateClassData(const CXXRecordDecl *RD); + + + void MaybeEmitVtable(GlobalDecl GD); }; } |