diff options
-rw-r--r-- | gcc/go/gofrontend/gogo.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc index 9df9402..f1f7680 100644 --- a/gcc/go/gofrontend/gogo.cc +++ b/gcc/go/gofrontend/gogo.cc @@ -2063,6 +2063,8 @@ Order_eval::variable(Named_object* no) return TRAVERSE_SKIP_COMPONENTS; } + Expression* orig_init = init; + for (Find_eval_ordering::const_iterator p = find_eval_ordering.begin(); p != find_eval_ordering.end(); ++p) @@ -2087,6 +2089,9 @@ Order_eval::variable(Named_object* no) var->add_preinit_statement(this->gogo_, s); } + if (init != orig_init) + var->set_init(init); + return TRAVERSE_SKIP_COMPONENTS; } |