compiler: Don't crash when dumping ast of empty block.
authorIan Lance Taylor <ian@gcc.gnu.org>
Mon, 15 Jun 2015 17:43:02 +0000 (17:43 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Mon, 15 Jun 2015 17:43:02 +0000 (17:43 +0000)
Fixes golang/go#10420.

From-SVN: r224487

gcc/go/gofrontend/ast-dump.cc

index 850e31a81e5329569c9804eca11149bc8d77cff7..72b01420aa3165bce2cda243f3fcbe32932c2990 100644 (file)
@@ -65,6 +65,12 @@ class Ast_dump_traverse_statements : public Traverse
 
 int Ast_dump_traverse_blocks_and_functions::block(Block * block)
 {
+  if (block == NULL)
+    {
+      this->ast_dump_context_->ostream() << std::endl;
+      return TRAVERSE_EXIT;
+    }
+
   this->ast_dump_context_->print_indent();
   this->ast_dump_context_->ostream() << "{" << std::endl;
   this->ast_dump_context_->indent();
@@ -466,4 +472,4 @@ Ast_dump_context::dump_to_stream(const Expression* expr, std::ostream* out)
 {
   Ast_dump_context adc(out, false);
   expr->dump_expression(&adc);
-}
\ No newline at end of file
+}