The surrounding code proves in both cases that these must be
`DIDerivedType` if they're `DIDerivedTypeBase`, so strengthen the
`dyn_cast`s to the more specific type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243143
91177308-0d34-0410-b5e6-
96231b3b80d8
if (auto *C = dyn_cast_or_null<DICompositeTypeBase>(T))
return C;
- if (auto *D = dyn_cast_or_null<DIDerivedTypeBase>(T)) {
+ if (auto *D = dyn_cast_or_null<DIDerivedType>(T)) {
// This function is currently used by dragonegg and dragonegg does
// not generate identifier for types, so using an empty map to resolve
// DerivedFrom should be fine.
else if (auto *SP = dyn_cast<DISubprogram>(D))
processSubprogram(SP);
}
- } else if (auto *DDT = dyn_cast<DIDerivedTypeBase>(DT)) {
+ } else if (auto *DDT = dyn_cast<DIDerivedType>(DT)) {
processType(DDT->getBaseType().resolve(TypeIdentifierMap));
}
}