diff options
Diffstat (limited to 'gcc/rust/rust-backend.h')
-rw-r--r-- | gcc/rust/rust-backend.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/rust/rust-backend.h b/gcc/rust/rust-backend.h index 7c0ac6e..e71d81e 100644 --- a/gcc/rust/rust-backend.h +++ b/gcc/rust/rust-backend.h @@ -93,6 +93,11 @@ public: virtual void debug (Bvariable *) = 0; virtual void debug (Blabel *) = 0; + // const folder helpers + virtual bool const_size_cast (Bexpression *, size_t *) = 0; + virtual std::string const_size_val_to_string (Bexpression *) = 0; + virtual bool const_values_equal (Bexpression *, Bexpression *) = 0; + // Types. // Produce an error type. Actually the backend could probably just @@ -283,6 +288,9 @@ public: // going without crashing. virtual Bexpression *error_expression () = 0; + // return whether this is error_mark_node + virtual bool is_error_expression (Bexpression *) = 0; + // Create a nil pointer expression. virtual Bexpression *nil_pointer_expression () = 0; |