diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2014-12-14 00:55:01 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2014-12-14 00:55:01 +0000 |
commit | 761bd3334833d7b5d53fb6b233bd767237f1c1b6 (patch) | |
tree | a73b9f44d4dd8eb0e8bd52f1631a13f2cba1c204 /gcc/go | |
parent | 7b814b1aa5363283a252d524b188500b0ad60dae (diff) | |
download | gcc-761bd3334833d7b5d53fb6b233bd767237f1c1b6.zip gcc-761bd3334833d7b5d53fb6b233bd767237f1c1b6.tar.gz gcc-761bd3334833d7b5d53fb6b233bd767237f1c1b6.tar.bz2 |
re PR go/61244 (gccgo: ICE in write_specific_type_functions [GoSmith])
PR go/61244
compiler: Traverse type descriptor expressions.
From-SVN: r218715
Diffstat (limited to 'gcc/go')
-rw-r--r-- | gcc/go/gofrontend/expressions.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index 4d07c22..21f6cd6 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -13657,6 +13657,9 @@ class Type_descriptor_expression : public Expression { } protected: + int + do_traverse(Traverse*); + Type* do_type() { return Type::make_type_descriptor_ptr_type(); } @@ -13688,6 +13691,14 @@ class Type_descriptor_expression : public Expression Type* type_; }; +int +Type_descriptor_expression::do_traverse(Traverse* traverse) +{ + if (Type::traverse(this->type_, traverse) == TRAVERSE_EXIT) + return TRAVERSE_EXIT; + return TRAVERSE_CONTINUE; +} + // Dump ast representation for a type descriptor expression. void |