diff options
Diffstat (limited to 'gcc/go/gofrontend/expressions.cc')
-rw-r--r-- | gcc/go/gofrontend/expressions.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index ecafe16..c5e9a0b 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -10290,13 +10290,16 @@ Call_expression::do_get_backend(Translate_context* context) bfn = gogo->backend()->convert_expression(bft, bfn, location); } - Bexpression* call = gogo->backend()->call_expression(bfn, fn_args, - bclosure, location); + Bfunction* bfunction = NULL; + if (context->function()) + bfunction = context->function()->func_value()->get_decl(); + Bexpression* call = gogo->backend()->call_expression(bfunction, bfn, + fn_args, bclosure, + location); if (this->results_ != NULL) { Bexpression* bcall_ref = this->call_result_ref(context); - Bfunction* bfunction = context->function()->func_value()->get_decl(); Bstatement* assn_stmt = gogo->backend()->assignment_statement(bfunction, bcall_ref, call, location); |