DebugInfo: Gut DIType and subclasses

Continuing PR23080, gut `DIType` and its various subclasses, leaving
behind thin wrappers around the pointer types in the new debug info
hierarchy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235064 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith
2015-04-16 01:01:28 +00:00
parent 782028b4bc
commit 7f76d2954e
10 changed files with 182 additions and 241 deletions

View File

@@ -98,27 +98,27 @@ void ModuleDebugInfoPrinter::print(raw_ostream &O, const Module *M) const {
O << '\n';
}
for (DIType T : Finder.types()) {
for (const MDType *T : Finder.types()) {
O << "Type:";
if (!T.getName().empty())
O << ' ' << T.getName();
printFile(O, T.getFilename(), T.getDirectory(), T.getLineNumber());
if (DIBasicType BT = dyn_cast<MDBasicType>(T)) {
if (!T->getName().empty())
O << ' ' << T->getName();
printFile(O, T->getFilename(), T->getDirectory(), T->getLine());
if (auto *BT = dyn_cast<MDBasicType>(T)) {
O << " ";
if (const char *Encoding =
dwarf::AttributeEncodingString(BT.getEncoding()))
dwarf::AttributeEncodingString(BT->getEncoding()))
O << Encoding;
else
O << "unknown-encoding(" << BT.getEncoding() << ')';
O << "unknown-encoding(" << BT->getEncoding() << ')';
} else {
O << ' ';
if (const char *Tag = dwarf::TagString(T.getTag()))
if (const char *Tag = dwarf::TagString(T->getTag()))
O << Tag;
else
O << "unknown-tag(" << T.getTag() << ")";
O << "unknown-tag(" << T->getTag() << ")";
}
if (DICompositeType CT = dyn_cast<MDCompositeType>(T)) {
if (auto *S = CT.getIdentifier())
if (auto *CT = dyn_cast<MDCompositeType>(T)) {
if (auto *S = CT->getRawIdentifier())
O << " (identifier: '" << S->getString() << "')";
}
O << '\n';