Commit 3cddc980 by Ian Lance Taylor

Don't crash when some object is redefined as a type.

From-SVN: r168126
parent 8cd15b10
......@@ -881,7 +881,7 @@ Gogo::add_type(const std::string& name, Type* type, source_location location)
{
Named_object* no = this->current_bindings()->add_type(name, NULL, type,
location);
if (!this->in_global_scope())
if (!this->in_global_scope() && no->is_type())
no->type_value()->set_in_function(this->functions_.back().function);
}
......@@ -901,7 +901,7 @@ Gogo::declare_type(const std::string& name, source_location location)
{
Bindings* bindings = this->current_bindings();
Named_object* no = bindings->add_type_declaration(name, NULL, location);
if (!this->in_global_scope())
if (!this->in_global_scope() && no->is_type_declaration())
{
Named_object* f = this->functions_.back().function;
no->type_declaration_value()->set_in_function(f);
......
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