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

llvm-svn: 10100
diff --git a/llvm/lib/VMCore/AsmWriter.cpp b/llvm/lib/VMCore/AsmWriter.cpp
index 2c36ed9..1823412 100644
--- a/llvm/lib/VMCore/AsmWriter.cpp
+++ b/llvm/lib/VMCore/AsmWriter.cpp
@@ -750,20 +750,24 @@
     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);
+        }
       }
     }
   }