diff options
Diffstat (limited to 'gcc/go/gofrontend/backend.h')
-rw-r--r-- | gcc/go/gofrontend/backend.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/backend.h b/gcc/go/gofrontend/backend.h index 46b2a6d..31ed8df 100644 --- a/gcc/go/gofrontend/backend.h +++ b/gcc/go/gofrontend/backend.h @@ -375,7 +375,7 @@ class Backend // Create an expression for a call to FN with ARGS. virtual Bexpression* call_expression(Bexpression* fn, const std::vector<Bexpression*>& args, - Location) = 0; + Bexpression* static_chain, Location) = 0; // Statements. @@ -529,6 +529,11 @@ class Backend Btype* type, bool is_address_taken, Location location) = 0; + // Create a static chain parameter. This is the closure parameter. + virtual Bvariable* + static_chain_variable(Bfunction* function, const std::string& name, + Btype* type, Location location) = 0; + // Create a temporary variable. A temporary variable has no name, // just a type. We pass in FUNCTION and BLOCK in case they are // needed. If INIT is not NULL, the variable should be initialized |