diff options
author | Chris Manghane <cmang@google.com> | 2014-05-06 19:28:03 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2014-05-06 19:28:03 +0000 |
commit | 6f7e0b570ab9ab1c6bbc2cb598284e2e5202e027 (patch) | |
tree | d260b1bb70995d642f35a870ceae7f566c5f052a /gcc/go/gofrontend/backend.h | |
parent | 3379b71f51c36c499ca5ce4ec877bd70b96a580e (diff) | |
download | gcc-6f7e0b570ab9ab1c6bbc2cb598284e2e5202e027.zip gcc-6f7e0b570ab9ab1c6bbc2cb598284e2e5202e027.tar.gz gcc-6f7e0b570ab9ab1c6bbc2cb598284e2e5202e027.tar.bz2 |
compiler: Use backend interface for expressions.
* go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
(Gcc_backend::boolean_constant_expression): New method.
(Gcc_backend::zero_expression): Use this->make_expression rather
than tree_to_expr.
(Gcc_backend::var_expression): Likewise.
(Gcc_backend::integer_constant_expression): Likewise.
(Gcc_backend::float_constant_expression): Likewise.
(Gcc_backend::complex_constant_expression): Likewise.
(Gcc_backend::struct_field_expression): Likewise.
(tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
(tree_to_function, tree_to_block): Remove functions.
(type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
(block_to_tree, var_to_tree, function_to_tree): Remove functions.
From-SVN: r210122
Diffstat (limited to 'gcc/go/gofrontend/backend.h')
-rw-r--r-- | gcc/go/gofrontend/backend.h | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/gcc/go/gofrontend/backend.h b/gcc/go/gofrontend/backend.h index 95f494a..fdcfd28 100644 --- a/gcc/go/gofrontend/backend.h +++ b/gcc/go/gofrontend/backend.h @@ -247,6 +247,10 @@ class Backend virtual Bexpression* error_expression() = 0; + // Create a nil pointer expression. + virtual Bexpression* + nil_pointer_expression() = 0; + // Create a reference to a variable. virtual Bexpression* var_expression(Bvariable* var, Location) = 0; @@ -281,6 +285,10 @@ class Backend virtual Bexpression* string_constant_expression(const std::string& val) = 0; + // Return an expression for the boolean value VAL. + virtual Bexpression* + boolean_constant_expression(bool val) = 0; + // Return an expression for the real part of BCOMPLEX. virtual Bexpression* real_part_expression(Bexpression* bcomplex, Location) = 0; @@ -687,19 +695,4 @@ class Backend extern Backend* go_get_backend(); -// FIXME: Temporary helper functions while converting to new backend -// interface. - -extern Btype* tree_to_type(tree); -extern Bexpression* tree_to_expr(tree); -extern Bstatement* tree_to_stat(tree); -extern Bfunction* tree_to_function(tree); -extern Bblock* tree_to_block(tree); -extern tree type_to_tree(Btype*); -extern tree expr_to_tree(Bexpression*); -extern tree stat_to_tree(Bstatement*); -extern tree block_to_tree(Bblock*); -extern tree var_to_tree(Bvariable*); -extern tree function_to_tree(Bfunction*); - #endif // !defined(GO_BACKEND_H) |