DI: Only DICompositeType has getElements(), NFC

There is an assertion inside `DICompositeTypeBase::getElements()` that
`this` is not a `DISubroutineType`, leaving only `DICompositeType`.
Make that clear at the call sites.

llvm-svn: 243134
This commit is contained in:
Duncan P. N. Exon Smith 2015-07-24 18:17:17 +00:00
parent 0b0eeaaaf6
commit 6ac940db19
2 changed files with 2 additions and 2 deletions

View File

@ -187,7 +187,7 @@ const DIType *DbgVariable::getType() const {
if (tag == dwarf::DW_TAG_pointer_type) if (tag == dwarf::DW_TAG_pointer_type)
subType = resolve(cast<DIDerivedType>(Ty)->getBaseType()); subType = resolve(cast<DIDerivedType>(Ty)->getBaseType());
auto Elements = cast<DICompositeTypeBase>(subType)->getElements(); auto Elements = cast<DICompositeType>(subType)->getElements();
for (unsigned i = 0, N = Elements.size(); i < N; ++i) { for (unsigned i = 0, N = Elements.size(); i < N; ++i) {
auto *DT = cast<DIDerivedTypeBase>(Elements[i]); auto *DT = cast<DIDerivedTypeBase>(Elements[i]);
if (getName() == DT->getName()) if (getName() == DT->getName())

View File

@ -452,7 +452,7 @@ void DwarfUnit::addBlockByrefAddress(const DbgVariable &DV, DIE &Die,
// Find the __forwarding field and the variable field in the __Block_byref // Find the __forwarding field and the variable field in the __Block_byref
// struct. // struct.
DINodeArray Fields = cast<DICompositeTypeBase>(TmpTy)->getElements(); DINodeArray Fields = cast<DICompositeType>(TmpTy)->getElements();
const DIDerivedType *varField = nullptr; const DIDerivedType *varField = nullptr;
const DIDerivedType *forwardingField = nullptr; const DIDerivedType *forwardingField = nullptr;