diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2023-08-31 11:32:11 -0400 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 19:04:30 +0100 |
commit | fe8bd7af79ed707f7ab6e481580b6a7483cee326 (patch) | |
tree | 9c0f6f4b407c5cb31c4a6638fc7c66dba79687f7 | |
parent | 078158a3b98f7629032ece4033724fbd8709756c (diff) | |
download | gcc-fe8bd7af79ed707f7ab6e481580b6a7483cee326.zip gcc-fe8bd7af79ed707f7ab6e481580b6a7483cee326.tar.gz gcc-fe8bd7af79ed707f7ab6e481580b6a7483cee326.tar.bz2 |
gccrs: Move label-related functions into base class Backend
gcc/rust/ChangeLog:
* rust-backend.h
(Backend::label): Make non-virtual.
(Backend::label_definition_statement): Likewise.
(Backend::goto_statement): Likewise.
(Backend::label_address): Likewise.
(Gcc_backend::label): Remove.
(Gcc_backend::label_definition_statement): Remove.
(Gcc_backend::goto_statement): Remove.
(Gcc_backend::label_address): Remove.
* rust-gcc.cc
(Gcc_backend::label): Rename to ...
(Backend::label): ... here.
(Gcc_backend::label_definition_statement): Rename to ...
(Backend::label_definition_statement): ... here.
(Gcc_backend::goto_statement): Rename to ...
(Backend::goto_statement): ... here.
(Gcc_backend::label_address): Rename to ...
(Backend::label_address): ... here.
Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
-rw-r--r-- | gcc/rust/rust-backend.h | 18 | ||||
-rw-r--r-- | gcc/rust/rust-gcc.cc | 9 |
2 files changed, 8 insertions, 19 deletions
diff --git a/gcc/rust/rust-backend.h b/gcc/rust/rust-backend.h index 1c81b20..21a9137 100644 --- a/gcc/rust/rust-backend.h +++ b/gcc/rust/rust-backend.h @@ -416,20 +416,20 @@ public: // Create a new label. NAME will be empty if this is a label // created by the frontend for a loop construct. The location is // where the label is defined. - virtual tree label (tree, const std::string &name, location_t) = 0; + tree label (tree, const std::string &name, location_t); // Create a statement which defines a label. This statement will be // put into the codestream at the point where the label should be // defined. - virtual tree label_definition_statement (tree) = 0; + tree label_definition_statement (tree); // Create a goto statement to a label. - virtual tree goto_statement (tree, location_t) = 0; + tree goto_statement (tree, location_t); // Create an expression for the address of a label. This is used to // get the return address of a deferred function which may call // recover. - virtual tree label_address (tree, location_t) = 0; + tree label_address (tree, location_t); // Functions. @@ -620,16 +620,6 @@ public: Bvariable *temporary_variable (tree, tree, tree, tree, bool, location_t, tree *); - // Labels. - - tree label (tree, const std::string &name, location_t); - - tree label_definition_statement (tree); - - tree goto_statement (tree, location_t); - - tree label_address (tree, location_t); - // Functions. tree function (tree fntype, const std::string &name, diff --git a/gcc/rust/rust-gcc.cc b/gcc/rust/rust-gcc.cc index 06bf7da..c3db37f 100644 --- a/gcc/rust/rust-gcc.cc +++ b/gcc/rust/rust-gcc.cc @@ -2243,8 +2243,7 @@ Gcc_backend::temporary_variable (tree fndecl, tree bind_tree, tree type_tree, // Make a label. tree -Gcc_backend::label (tree func_tree, const std::string &name, - location_t location) +Backend::label (tree func_tree, const std::string &name, location_t location) { tree decl; if (name.empty ()) @@ -2270,7 +2269,7 @@ Gcc_backend::label (tree func_tree, const std::string &name, // Make a statement which defines a label. tree -Gcc_backend::label_definition_statement (tree label) +Backend::label_definition_statement (tree label) { return fold_build1_loc (DECL_SOURCE_LOCATION (label), LABEL_EXPR, void_type_node, label); @@ -2279,7 +2278,7 @@ Gcc_backend::label_definition_statement (tree label) // Make a goto statement. tree -Gcc_backend::goto_statement (tree label, location_t location) +Backend::goto_statement (tree label, location_t location) { return fold_build1_loc (location, GOTO_EXPR, void_type_node, label); } @@ -2287,7 +2286,7 @@ Gcc_backend::goto_statement (tree label, location_t location) // Get the address of a label. tree -Gcc_backend::label_address (tree label, location_t location) +Backend::label_address (tree label, location_t location) { TREE_USED (label) = 1; TREE_ADDRESSABLE (label) = 1; |