From 83feca39ba06e865ee4588e607a27e498944f62d Mon Sep 17 00:00:00 2001 From: Owen Avery Date: Thu, 31 Aug 2023 15:58:22 -0400 Subject: [PATCH] gccrs: Move block-related methods into base class Backend gcc/rust/ChangeLog: * rust-backend.h (Backend::block): Make non-virtual. (Backend::block_add_statements): Likewise. (Gcc_backend::block): Remove. (Gcc_backend::block_add_statements): Remove. * rust-gcc.cc (Gcc_backend::block): Rename to ... (Backend::block): ... here. (Gcc_backend::block_add_statements): Rename to ... (Backend::block_add_statements): ... here. Signed-off-by: Owen Avery --- gcc/rust/rust-backend.h | 16 ++++------------ gcc/rust/rust-gcc.cc | 10 +++++----- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/gcc/rust/rust-backend.h b/gcc/rust/rust-backend.h index 6b265cccde12..082f6b977f99 100644 --- a/gcc/rust/rust-backend.h +++ b/gcc/rust/rust-backend.h @@ -326,16 +326,15 @@ public: // the initial curly brace. END_LOCATION is the location of the end // of the block, more or less the location of the final curly brace. // The statements will be added after the block is created. - virtual tree block (tree function, tree enclosing, - const std::vector &vars, - location_t start_location, location_t end_location) - = 0; + tree block (tree function, tree enclosing, + const std::vector &vars, location_t start_location, + location_t end_location); // Add the statements to a block. The block is created first. Then // the statements are created. Then the statements are added to the // block. This will called exactly once per block. The vector may // be empty if there are no statements. - virtual void block_add_statements (tree, const std::vector &) = 0; + void block_add_statements (tree, const std::vector &); // Variables. @@ -536,13 +535,6 @@ public: tree call_expression (tree fn, const std::vector &args, tree static_chain, location_t); - - // Blocks. - - tree block (tree, tree, const std::vector &, location_t, - location_t); - - void block_add_statements (tree, const std::vector &); }; #endif // RUST_BACKEND_H diff --git a/gcc/rust/rust-gcc.cc b/gcc/rust/rust-gcc.cc index 7ef442b91ed8..330772f9313f 100644 --- a/gcc/rust/rust-gcc.cc +++ b/gcc/rust/rust-gcc.cc @@ -1867,9 +1867,9 @@ Backend::statement_list (const std::vector &statements) // the Bblock. tree -Gcc_backend::block (tree fndecl, tree enclosing, - const std::vector &vars, - location_t start_location, location_t) +Backend::block (tree fndecl, tree enclosing, + const std::vector &vars, location_t start_location, + location_t) { tree block_tree = make_node (BLOCK); if (enclosing == NULL) @@ -1928,8 +1928,8 @@ Gcc_backend::block (tree fndecl, tree enclosing, // Add statements to a block. void -Gcc_backend::block_add_statements (tree bind_tree, - const std::vector &statements) +Backend::block_add_statements (tree bind_tree, + const std::vector &statements) { tree stmt_list = NULL_TREE; for (std::vector::const_iterator p = statements.begin (); -- 2.47.2