Commit cc24ff0d by Ian Lance Taylor

compiler: show readable names in escape analysis messages

    
    Call message_name when printing a variable for an escape analysis
    message.  This implies changing the AST dumps, which is fine.
    
    Reviewed-on: https://go-review.googlesource.com/90296

From-SVN: r257113
parent 6db72443
897ce971b06a39c217d02dce9e1361bc7a240188 13b25c25faa8afd625732d2630a4f9ece5cacb2e
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -131,7 +131,7 @@ Node::ast_format(Gogo* gogo) const ...@@ -131,7 +131,7 @@ Node::ast_format(Gogo* gogo) const
Named_object* no = this->object(); Named_object* no = this->object();
if (no->is_function() && no->func_value()->enclosing() != NULL) if (no->is_function() && no->func_value()->enclosing() != NULL)
return "func literal"; return "func literal";
ss << no->name(); ss << no->message_name();
} }
else if (this->expr() != NULL) else if (this->expr() != NULL)
{ {
......
...@@ -783,7 +783,7 @@ Var_expression::do_get_backend(Translate_context* context) ...@@ -783,7 +783,7 @@ Var_expression::do_get_backend(Translate_context* context)
void void
Var_expression::do_dump_expression(Ast_dump_context* ast_dump_context) const Var_expression::do_dump_expression(Ast_dump_context* ast_dump_context) const
{ {
ast_dump_context->ostream() << this->variable_->name() ; ast_dump_context->ostream() << this->variable_->message_name() ;
} }
// Make a reference to a variable in an expression. // Make a reference to a variable in an expression.
...@@ -859,7 +859,7 @@ Enclosed_var_expression::do_address_taken(bool escapes) ...@@ -859,7 +859,7 @@ Enclosed_var_expression::do_address_taken(bool escapes)
void void
Enclosed_var_expression::do_dump_expression(Ast_dump_context* adc) const Enclosed_var_expression::do_dump_expression(Ast_dump_context* adc) const
{ {
adc->ostream() << this->variable_->name(); adc->ostream() << this->variable_->message_name();
} }
// Make a reference to a variable within an enclosing function. // Make a reference to a variable within an enclosing function.
......
...@@ -151,7 +151,7 @@ Check_escape::variable(Named_object* no) ...@@ -151,7 +151,7 @@ Check_escape::variable(Named_object* no)
&& no->result_var_value()->is_in_heap())) && no->result_var_value()->is_in_heap()))
go_error_at(no->location(), go_error_at(no->location(),
"%s escapes to heap, not allowed in runtime", "%s escapes to heap, not allowed in runtime",
no->name().c_str()); no->message_name().c_str());
return TRAVERSE_CONTINUE; return TRAVERSE_CONTINUE;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment