public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-7966] gccrs: Move some simple expression-related methods into base class Backend
@ 2024-01-16 18:09 Arthur Cohen
  0 siblings, 0 replies; only message in thread
From: Arthur Cohen @ 2024-01-16 18:09 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:55caa88646a6b2e15ffa3e01fdde487548af692f

commit r14-7966-g55caa88646a6b2e15ffa3e01fdde487548af692f
Author: Owen Avery <powerboat9.gamer@gmail.com>
Date:   Thu Aug 31 16:23:53 2023 -0400

    gccrs: Move some simple expression-related methods into base class Backend
    
    gcc/rust/ChangeLog:
    
            * rust-backend.h
            (Backend::zero_expression): Make non-virtual.
            (Backend::var_expression): Likewise.
            (Backend::integer_constant_expression): Likewise.
            (Backend::float_constant_expression): Likewise.
            (Backend::complex_constant_expression): Likewise.
            (Backend::string_constant_expression): Likewise.
            (Backend::char_constant_literal): Likewise.
            (Backend::wchar_constant_literal): Likewise.
            (Backend::boolean_constant_expression): Likewise.
    
            (Gcc_backend::zero_expression): Remove.
            (Gcc_backend::var_expression): Remove.
            (Gcc_backend::integer_constant_expression): Remove.
            (Gcc_backend::float_constant_expression): Remove.
            (Gcc_backend::complex_constant_expression): Remove.
            (Gcc_backend::string_constant_expression): Remove.
            (Gcc_backend::wchar_constant_expression): Remove.
            (Gcc_backend::char_constant_expression): Remove.
            (Gcc_backend::boolean_constant_expression): Remove.
            * rust-gcc.cc
            (Gcc_backend::zero_expression): Rename to ...
            (Backend::zero_expression): ... here.
            (Gcc_backend::var_expression): Rename to ...
            (Backend::var_expression): ... here.
            (Gcc_backend::integer_constant_expression): Rename to ...
            (Backend::integer_constant_expression): ... here.
            (Gcc_backend::float_constant_expression): Rename to ...
            (Backend::float_constant_expression): ... here.
            (Gcc_backend::complex_constant_expression): Rename to ...
            (Backend::complex_constant_expression): ... here.
            (Gcc_backend::string_constant_expression): Rename to ...
            (Backend::string_constant_expression): ... here.
            (Gcc_backend::wchar_constant_expression): Rename to ...
            (Backend::wchar_constant_expression): ... here.
            (Gcc_backend::char_constant_expression): Rename to ...
            (Backend::char_constant_expression): ... here.
            (Gcc_backend::boolean_constant_expression): Rename to ...
            (Backend::boolean_constant_expression): ... here.
    
    Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>

Diff:
---
 gcc/rust/rust-backend.h | 36 +++++++++---------------------------
 gcc/rust/rust-gcc.cc    | 18 +++++++++---------
 2 files changed, 18 insertions(+), 36 deletions(-)

diff --git a/gcc/rust/rust-backend.h b/gcc/rust/rust-backend.h
index dd849b8abd9..0633d005d87 100644
--- a/gcc/rust/rust-backend.h
+++ b/gcc/rust/rust-backend.h
@@ -157,31 +157,31 @@ public:
   // Return an expression for a zero value of the given type.  This is
   // used for cases such as local variable initialization and
   // converting nil to other types.
-  virtual tree zero_expression (tree) = 0;
+  tree zero_expression (tree);
 
   // Create a reference to a variable.
-  virtual tree var_expression (Bvariable *var, location_t) = 0;
+  tree var_expression (Bvariable *var, location_t);
 
   // Return an expression for the multi-precision integer VAL in BTYPE.
-  virtual tree integer_constant_expression (tree btype, mpz_t val) = 0;
+  tree integer_constant_expression (tree btype, mpz_t val);
 
   // Return an expression for the floating point value VAL in BTYPE.
-  virtual tree float_constant_expression (tree btype, mpfr_t val) = 0;
+  tree float_constant_expression (tree btype, mpfr_t val);
 
   // Return an expression for the complex value VAL in BTYPE.
-  virtual tree complex_constant_expression (tree btype, mpc_t val) = 0;
+  tree complex_constant_expression (tree btype, mpc_t val);
 
   // Return an expression for the string value VAL.
-  virtual tree string_constant_expression (const std::string &val) = 0;
+  tree string_constant_expression (const std::string &val);
 
   // Get a char literal
-  virtual tree char_constant_expression (char c) = 0;
+  tree char_constant_expression (char c);
 
   // Get a char literal
-  virtual tree wchar_constant_expression (wchar_t c) = 0;
+  tree wchar_constant_expression (wchar_t c);
 
   // Return an expression for the boolean value VAL.
-  virtual tree boolean_constant_expression (bool val) = 0;
+  tree boolean_constant_expression (bool val);
 
   // Return an expression for the real part of BCOMPLEX.
   virtual tree real_part_expression (tree bcomplex, location_t) = 0;
@@ -502,24 +502,6 @@ public:
 
   // Expressions.
 
-  tree zero_expression (tree);
-
-  tree var_expression (Bvariable *var, location_t);
-
-  tree integer_constant_expression (tree type, mpz_t val);
-
-  tree float_constant_expression (tree type, mpfr_t val);
-
-  tree complex_constant_expression (tree type, mpc_t val);
-
-  tree string_constant_expression (const std::string &val);
-
-  tree wchar_constant_expression (wchar_t c);
-
-  tree char_constant_expression (char c);
-
-  tree boolean_constant_expression (bool val);
-
   tree real_part_expression (tree bcomplex, location_t);
 
   tree imag_part_expression (tree bcomplex, location_t);
diff --git a/gcc/rust/rust-gcc.cc b/gcc/rust/rust-gcc.cc
index eddcb0fc9d7..2e3612f45c5 100644
--- a/gcc/rust/rust-gcc.cc
+++ b/gcc/rust/rust-gcc.cc
@@ -781,7 +781,7 @@ Backend::type_field_offset (tree struct_tree, size_t index)
 // Return the zero value for a type.
 
 tree
-Gcc_backend::zero_expression (tree t)
+Backend::zero_expression (tree t)
 {
   tree ret;
   if (t == error_mark_node)
@@ -794,7 +794,7 @@ Gcc_backend::zero_expression (tree t)
 // An expression that references a variable.
 
 tree
-Gcc_backend::var_expression (Bvariable *var, location_t location)
+Backend::var_expression (Bvariable *var, location_t location)
 {
   return var->get_tree (location);
 }
@@ -803,7 +803,7 @@ Gcc_backend::var_expression (Bvariable *var, location_t location)
 // This function does not release the memory of @val
 
 tree
-Gcc_backend::integer_constant_expression (tree t, mpz_t val)
+Backend::integer_constant_expression (tree t, mpz_t val)
 {
   if (t == error_mark_node)
     return error_mark_node;
@@ -815,7 +815,7 @@ Gcc_backend::integer_constant_expression (tree t, mpz_t val)
 // Return a typed value as a constant floating-point number.
 
 tree
-Gcc_backend::float_constant_expression (tree t, mpfr_t val)
+Backend::float_constant_expression (tree t, mpfr_t val)
 {
   tree ret;
   if (t == error_mark_node)
@@ -832,7 +832,7 @@ Gcc_backend::float_constant_expression (tree t, mpfr_t val)
 // Return a typed real and imaginary value as a constant complex number.
 
 tree
-Gcc_backend::complex_constant_expression (tree t, mpc_t val)
+Backend::complex_constant_expression (tree t, mpc_t val)
 {
   tree ret;
   if (t == error_mark_node)
@@ -856,7 +856,7 @@ Gcc_backend::complex_constant_expression (tree t, mpc_t val)
 // Make a constant string expression.
 
 tree
-Gcc_backend::string_constant_expression (const std::string &val)
+Backend::string_constant_expression (const std::string &val)
 {
   tree index_type = build_index_type (size_int (val.length ()));
   tree const_char_type = build_qualified_type (char_type_node, TYPE_QUAL_CONST);
@@ -869,13 +869,13 @@ Gcc_backend::string_constant_expression (const std::string &val)
 }
 
 tree
-Gcc_backend::wchar_constant_expression (wchar_t c)
+Backend::wchar_constant_expression (wchar_t c)
 {
   return build_int_cst (wchar_type (), c);
 }
 
 tree
-Gcc_backend::char_constant_expression (char c)
+Backend::char_constant_expression (char c)
 {
   return build_int_cst (char_type_node, c);
 }
@@ -883,7 +883,7 @@ Gcc_backend::char_constant_expression (char c)
 // Make a constant boolean expression.
 
 tree
-Gcc_backend::boolean_constant_expression (bool val)
+Backend::boolean_constant_expression (bool val)
 {
   return val ? boolean_true_node : boolean_false_node;
 }

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-01-16 18:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-16 18:09 [gcc r14-7966] gccrs: Move some simple expression-related methods into base class Backend Arthur Cohen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).