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

llvm-svn: 10100
This commit is contained in:
Chris Lattner 2003-11-20 00:09:43 +00:00
parent d2553359a8
commit 2447ef59c4
1 changed files with 17 additions and 13 deletions

View File

@ -750,20 +750,24 @@ void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
else
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 (PI == PE) {
Out << " No predecessors!";
} else {
Out << " preds =";
writeOperand(*PI, false, true);
for (++PI; PI != PE; ++PI) {
Out << ",";
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 << ",";
writeOperand(*PI, false, true);
}
}
}
}