aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/expressions.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/go/gofrontend/expressions.cc')
-rw-r--r--gcc/go/gofrontend/expressions.cc9
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);