aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/expressions.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2018-11-27 18:55:56 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2018-11-27 18:55:56 +0000
commit336785efd4228d3ed044bf8ede10c43de9c6ba61 (patch)
tree2faff4665b784c50a7779309159027fe2d3718f3 /gcc/go/gofrontend/expressions.h
parentba28599caf0c45ea4552a3228c15b1d99e572007 (diff)
downloadgcc-336785efd4228d3ed044bf8ede10c43de9c6ba61.zip
gcc-336785efd4228d3ed044bf8ede10c43de9c6ba61.tar.gz
gcc-336785efd4228d3ed044bf8ede10c43de9c6ba61.tar.bz2
compiler: change Expression export to use Export_function_body
In preparation for writing expressions to inline function bodies, change the existing expression export code to use Export_function_body rather than Export. Adjust existing expression exporters accordingly. This is a refactoring that doesn't affect compiler output. Reviewed-on: https://go-review.googlesource.com/c/150063 From-SVN: r266523
Diffstat (limited to 'gcc/go/gofrontend/expressions.h')
-rw-r--r--gcc/go/gofrontend/expressions.h32
1 files changed, 15 insertions, 17 deletions
diff --git a/gcc/go/gofrontend/expressions.h b/gcc/go/gofrontend/expressions.h
index 33ea9b2..9c3122a 100644
--- a/gcc/go/gofrontend/expressions.h
+++ b/gcc/go/gofrontend/expressions.h
@@ -65,7 +65,7 @@ class Conditional_expression;
class Compound_expression;
class Numeric_constant;
class Named_object;
-class Export;
+class Export_function_body;
class Import;
class Temporary_statement;
class Label;
@@ -1009,12 +1009,10 @@ class Expression
backend_numeric_constant_expression(Translate_context*,
Numeric_constant* val);
- // Export the expression. This is only used for constants. It will
- // be used for things like values of named constants and sizes of
- // arrays.
+ // Export the expression.
void
- export_expression(Export* exp) const
- { this->do_export(exp); }
+ export_expression(Export_function_body* efb) const
+ { this->do_export(efb); }
// Import an expression.
static Expression*
@@ -1130,7 +1128,7 @@ class Expression
// Child class implements export.
virtual void
- do_export(Export*) const;
+ do_export(Export_function_body*) const;
// For children to call to give an error for an unused value.
void
@@ -1603,7 +1601,7 @@ class String_expression : public Expression
export_string(String_dump* exp, const String_expression* str);
void
- do_export(Export*) const;
+ do_export(Export_function_body*) const;
void
do_dump_expression(Ast_dump_context*) const;
@@ -1687,7 +1685,7 @@ class Type_conversion_expression : public Expression
do_get_backend(Translate_context* context);
void
- do_export(Export*) const;
+ do_export(Export_function_body*) const;
void
do_dump_expression(Ast_dump_context*) const;
@@ -1878,7 +1876,7 @@ class Unary_expression : public Expression
do_get_backend(Translate_context*);
void
- do_export(Export*) const;
+ do_export(Export_function_body*) const;
void
do_dump_expression(Ast_dump_context*) const;
@@ -2023,7 +2021,7 @@ class Binary_expression : public Expression
do_get_backend(Translate_context*);
void
- do_export(Export*) const;
+ do_export(Export_function_body*) const;
void
do_dump_expression(Ast_dump_context*) const;
@@ -2130,7 +2128,7 @@ class String_concat_expression : public Expression
{ go_unreachable(); }
void
- do_export(Export*) const
+ do_export(Export_function_body*) const
{ go_unreachable(); }
void
@@ -2456,7 +2454,7 @@ class Builtin_call_expression : public Call_expression
do_get_backend(Translate_context*);
void
- do_export(Export*) const;
+ do_export(Export_function_body*) const;
virtual bool
do_is_recover_call() const;
@@ -3551,7 +3549,7 @@ class Struct_construction_expression : public Expression,
do_get_backend(Translate_context*);
void
- do_export(Export*) const;
+ do_export(Export_function_body*) const;
void
do_dump_expression(Ast_dump_context*) const;
@@ -3606,7 +3604,7 @@ protected:
do_check_types(Gogo*);
void
- do_export(Export*) const;
+ do_export(Export_function_body*) const;
// The indexes.
const std::vector<unsigned long>*
@@ -3744,7 +3742,7 @@ class Map_construction_expression : public Expression
do_get_backend(Translate_context*);
void
- do_export(Export*) const;
+ do_export(Export_function_body*) const;
void
do_dump_expression(Ast_dump_context*) const;
@@ -3859,7 +3857,7 @@ class Heap_expression : public Expression
// We only export global objects, and the parser does not generate
// this in global scope.
void
- do_export(Export*) const
+ do_export(Export_function_body*) const
{ go_unreachable(); }
void