From 3cddc98026935f84fc71d5e6437bf9e87712898f Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 21 Dec 2010 18:20:51 +0000 Subject: [PATCH] Don't crash when some object is redefined as a type. From-SVN: r168126 --- gcc/go/gofrontend/gogo.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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); -- 2.30.2