DebugInfo: CollectRecordStaticField -> CreateRecordStaticField to return its result.

llvm-svn: 188501
This commit is contained in:
David Blaikie 2013-08-15 22:50:29 +00:00
parent 952dac3b7f
commit ae01946afa
2 changed files with 9 additions and 11 deletions

View File

@ -866,10 +866,9 @@ CollectRecordLambdaFields(const CXXRecordDecl *CXXDecl,
} }
/// CollectRecordStaticField - Helper for CollectRecordFields. /// CollectRecordStaticField - Helper for CollectRecordFields.
void CGDebugInfo:: llvm::DIDerivedType
CollectRecordStaticField(const VarDecl *Var, CGDebugInfo::CreateRecordStaticField(const VarDecl *Var,
SmallVectorImpl<llvm::Value *> &elements, llvm::DIType RecordTy) {
llvm::DIType RecordTy) {
// Create the descriptor for the static variable, with or without // Create the descriptor for the static variable, with or without
// constant initializers. // constant initializers.
llvm::DIFile VUnit = getOrCreateFile(Var->getLocation()); llvm::DIFile VUnit = getOrCreateFile(Var->getLocation());
@ -898,10 +897,10 @@ CollectRecordStaticField(const VarDecl *Var,
else if (Access == clang::AS_protected) else if (Access == clang::AS_protected)
Flags |= llvm::DIDescriptor::FlagProtected; Flags |= llvm::DIDescriptor::FlagProtected;
llvm::DIType GV = DBuilder.createStaticMemberType(RecordTy, VName, VUnit, llvm::DIDerivedType GV = DBuilder.createStaticMemberType(
LineNumber, VTy, Flags, C); RecordTy, VName, VUnit, LineNumber, VTy, Flags, C);
elements.push_back(GV);
StaticDataMemberCache[Var->getCanonicalDecl()] = llvm::WeakVH(GV); StaticDataMemberCache[Var->getCanonicalDecl()] = llvm::WeakVH(GV);
return GV;
} }
/// CollectRecordNormalField - Helper for CollectRecordFields. /// CollectRecordNormalField - Helper for CollectRecordFields.
@ -952,7 +951,7 @@ CollectRecordFields(const RecordDecl *record, llvm::DIFile tunit,
for (RecordDecl::decl_iterator I = record->decls_begin(), for (RecordDecl::decl_iterator I = record->decls_begin(),
E = record->decls_end(); I != E; ++I) E = record->decls_end(); I != E; ++I)
if (const VarDecl *V = dyn_cast<VarDecl>(*I)) if (const VarDecl *V = dyn_cast<VarDecl>(*I))
CollectRecordStaticField(V, elements, RecordTy); elements.push_back(CreateRecordStaticField(V, RecordTy));
else if (FieldDecl *field = dyn_cast<FieldDecl>(*I)) { else if (FieldDecl *field = dyn_cast<FieldDecl>(*I)) {
CollectRecordNormalField(field, layout.getFieldOffset(fieldNo), CollectRecordNormalField(field, layout.getFieldOffset(fieldNo),
tunit, elements, RecordTy); tunit, elements, RecordTy);

View File

@ -184,9 +184,8 @@ class CGDebugInfo {
void CollectRecordLambdaFields(const CXXRecordDecl *CXXDecl, void CollectRecordLambdaFields(const CXXRecordDecl *CXXDecl,
SmallVectorImpl<llvm::Value *> &E, SmallVectorImpl<llvm::Value *> &E,
llvm::DIType RecordTy); llvm::DIType RecordTy);
void CollectRecordStaticField(const VarDecl *Var, llvm::DIDerivedType CreateRecordStaticField(const VarDecl *Var,
SmallVectorImpl<llvm::Value *> &E, llvm::DIType RecordTy);
llvm::DIType RecordTy);
void CollectRecordNormalField(const FieldDecl *Field, uint64_t OffsetInBits, void CollectRecordNormalField(const FieldDecl *Field, uint64_t OffsetInBits,
llvm::DIFile F, llvm::DIFile F,
SmallVectorImpl<llvm::Value *> &E, SmallVectorImpl<llvm::Value *> &E,