aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/backend.h
diff options
context:
space:
mode:
authorThan McIntosh <thanm@google.com>2017-05-12 16:36:50 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2017-05-12 16:36:50 +0000
commitda55a299c5159a622bcf04bf3f97707f5335bcad (patch)
tree6ae18ad0b0ccac78b05dd11e1c152bafdda97e4d /gcc/go/gofrontend/backend.h
parent9dd19976b1b01fd5490fe9f3e840153db8a9610b (diff)
downloadgcc-da55a299c5159a622bcf04bf3f97707f5335bcad.zip
gcc-da55a299c5159a622bcf04bf3f97707f5335bcad.tar.gz
gcc-da55a299c5159a622bcf04bf3f97707f5335bcad.tar.bz2
compiler: add calling Bfunction Backend::call_expression
Pass in the calling (containing) Bfunction when invoking the Backend method call_expression(), so as to handle the case where generation of the call forces the creation of a temp var within the calling function. Reviewed-on: https://go-review.googlesource.com/43270 From-SVN: r247981
Diffstat (limited to 'gcc/go/gofrontend/backend.h')
-rw-r--r--gcc/go/gofrontend/backend.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/go/gofrontend/backend.h b/gcc/go/gofrontend/backend.h
index e51efe4ef..9951a72 100644
--- a/gcc/go/gofrontend/backend.h
+++ b/gcc/go/gofrontend/backend.h
@@ -372,9 +372,11 @@ class Backend
virtual Bexpression*
array_index_expression(Bexpression* array, Bexpression* index, Location) = 0;
- // Create an expression for a call to FN with ARGS.
+ // Create an expression for a call to FN with ARGS, taking place within
+ // caller CALLER.
virtual Bexpression*
- call_expression(Bexpression* fn, const std::vector<Bexpression*>& args,
+ call_expression(Bfunction *caller, Bexpression* fn,
+ const std::vector<Bexpression*>& args,
Bexpression* static_chain, Location) = 0;
// Return an expression that allocates SIZE bytes on the stack.