From: Ian Lance Taylor Date: Tue, 21 Dec 2010 18:20:51 +0000 (+0000) Subject: Don't crash when some object is redefined as a type. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3cddc98026935f84fc71d5e6437bf9e87712898f;p=gcc.git Don't crash when some object is redefined as a type. From-SVN: r168126 --- diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc index 8ba1d4fab68..d5db85c6d19 100644 --- a/gcc/go/gofrontend/gogo.cc +++ b/gcc/go/gofrontend/gogo.cc @@ -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);