Add addBaseSubobjectTypeName which isn't used yet.

llvm-svn: 129671
This commit is contained in:
Anders Carlsson 2011-04-17 21:40:34 +00:00
parent 514e292b72
commit 56c4d80a4e
2 changed files with 14 additions and 0 deletions

View File

@ -511,6 +511,15 @@ CodeGenTypes::getCGRecordLayout(const RecordDecl *RD) {
return *Layout;
}
void CodeGenTypes::addBaseSubobjectTypeName(const CXXRecordDecl *RD,
const CGRecordLayout &layout) {
llvm::StringRef suffix;
if (layout.getBaseSubobjectLLVMType() != layout.getLLVMType())
suffix = ".base";
addTagTypeName(RD, layout.getBaseSubobjectLLVMType(), suffix);
}
bool CodeGenTypes::isZeroInitializable(QualType T) {
// No need to check for member pointers when not compiling C++.
if (!Context.getLangOptions().CPlusPlus)

View File

@ -150,6 +150,11 @@ public:
const CGRecordLayout &getCGRecordLayout(const RecordDecl*);
/// addBaseSubobjectTypeName - Add a type name for the base subobject of the
/// given record layout.
void addBaseSubobjectTypeName(const CXXRecordDecl *RD,
const CGRecordLayout &layout);
/// UpdateCompletedType - When we find the full definition for a TagDecl,
/// replace the 'opaque' type we previously made for it if applicable.
void UpdateCompletedType(const TagDecl *TD);