Don't crash if we are printing an orphaned basic block!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10100 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-11-20 00:09:43 +00:00
parent 8b1daa3e71
commit 4e4d8624c5

View File

@ -751,19 +751,23 @@ void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
Out << "<badref>";
}
if (BB != &BB->getParent()->front()) { // Not the entry block?
// Output predecessors for the block...
Out << "\t\t;";
pred_const_iterator PI = pred_begin(BB), PE = pred_end(BB);
if (BB->getParent() == 0)
Out << "\t\t; Error: Block without parent!";
else {
if (BB != &BB->getParent()->front()) { // Not the entry block?
// Output predecessors for the block...
Out << "\t\t;";
pred_const_iterator PI = pred_begin(BB), PE = pred_end(BB);
if (PI == PE) {
Out << " No predecessors!";
} else {
Out << " preds =";
writeOperand(*PI, false, true);
for (++PI; PI != PE; ++PI) {
Out << ",";
if (PI == PE) {
Out << " No predecessors!";
} else {
Out << " preds =";
writeOperand(*PI, false, true);
for (++PI; PI != PE; ++PI) {
Out << ",";
writeOperand(*PI, false, true);
}
}
}
}