aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2011-01-19 20:54:30 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2011-01-19 20:54:30 +0000
commit966082b6c475918a4155315cd53dec7a6ff4e529 (patch)
tree234b0d39539c3733854eacb01500026ad49a3b40 /gcc
parent03029de43d8a963b32e80c7e36567d429e6c5947 (diff)
downloadgcc-966082b6c475918a4155315cd53dec7a6ff4e529.zip
gcc-966082b6c475918a4155315cd53dec7a6ff4e529.tar.gz
gcc-966082b6c475918a4155315cd53dec7a6ff4e529.tar.bz2
Remember erroneous type when creating GENERIC for named type.
From-SVN: r169030
Diffstat (limited to 'gcc')
-rw-r--r--gcc/go/gofrontend/types.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/go/gofrontend/types.cc b/gcc/go/gofrontend/types.cc
index 1a68e77..418e8a8 100644
--- a/gcc/go/gofrontend/types.cc
+++ b/gcc/go/gofrontend/types.cc
@@ -7085,7 +7085,10 @@ Named_type::do_get_tree(Gogo* gogo)
this->named_tree_ = t;
t = this->type_->struct_type()->fill_in_tree(gogo, t);
if (t == error_mark_node)
- return error_mark_node;
+ {
+ this->named_tree_ = error_mark_node;
+ return error_mark_node;
+ }
break;
case TYPE_ARRAY:
@@ -7120,7 +7123,10 @@ Named_type::do_get_tree(Gogo* gogo)
this->named_tree_ = t;
t = this->type_->interface_type()->fill_in_tree(gogo, t);
if (t == error_mark_node)
- return error_mark_node;
+ {
+ this->named_tree_ = error_mark_node;
+ return error_mark_node;
+ }
}
break;