aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/rust-backend.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rust/rust-backend.h')
-rw-r--r--gcc/rust/rust-backend.h113
1 files changed, 0 insertions, 113 deletions
diff --git a/gcc/rust/rust-backend.h b/gcc/rust/rust-backend.h
index 7d28892..ca41575 100644
--- a/gcc/rust/rust-backend.h
+++ b/gcc/rust/rust-backend.h
@@ -491,119 +491,6 @@ public:
Location location, tree *pstatement)
= 0;
- // Create an implicit variable that is compiler-defined. This is
- // used when generating GC data and roots, when storing the values
- // of a slice constructor, and for the zero value of types. This returns a
- // Bvariable because it corresponds to an initialized variable in C.
- //
- // NAME is the name to use for the initialized variable this will create.
- //
- // ASM_NAME is encoded assembler-friendly version of the name, or the
- // empty string if no encoding is needed.
- //
- // TYPE is the type of the implicit variable.
- //
- // IS_HIDDEN will be true if the descriptor should only be visible
- // within the current object.
- //
- // IS_CONSTANT is true if the implicit variable should be treated like it is
- // immutable. For slice initializers, if the values must be copied to the
- // heap, the variable IS_CONSTANT.
- //
- // IS_COMMON is true if the implicit variable should
- // be treated as a common variable (multiple definitions with
- // different sizes permitted in different object files, all merged
- // into the largest definition at link time); this will be true for
- // the zero value. IS_HIDDEN and IS_COMMON will never both be true.
- //
- // If ALIGNMENT is not zero, it is the desired alignment of the variable.
- virtual Bvariable *implicit_variable (const std::string &name,
- const std::string &asm_name, tree type,
- bool is_hidden, bool is_constant,
- bool is_common, int64_t alignment)
- = 0;
-
- // Set the initial value of a variable created by implicit_variable.
- // This must be called even if there is no initializer, i.e., INIT is NULL.
- // The NAME, TYPE, IS_HIDDEN, IS_CONSTANT, and IS_COMMON parameters are
- // the same ones passed to implicit_variable. INIT will be a composite
- // literal of type TYPE. It will not contain any function calls or anything
- // else that can not be put into a read-only data section.
- // It may contain the address of variables created by implicit_variable.
- //
- // If IS_COMMON is true, INIT will be NULL, and the
- // variable should be initialized to all zeros.
- virtual void implicit_variable_set_init (Bvariable *, const std::string &name,
- tree type, bool is_hidden,
- bool is_constant, bool is_common,
- tree init)
- = 0;
-
- // Create a reference to a named implicit variable defined in some
- // other package. This will be a variable created by a call to
- // implicit_variable with the same NAME, ASM_NAME and TYPE and with
- // IS_COMMON passed as false. This corresponds to an extern global
- // variable in C.
- virtual Bvariable *implicit_variable_reference (const std::string &name,
- const std::string &asm_name,
- tree type)
- = 0;
-
- // Create a named immutable initialized data structure. This is
- // used for type descriptors, map descriptors, and function
- // descriptors. This returns a Bvariable because it corresponds to
- // an initialized const variable in C.
- //
- // NAME is the name to use for the initialized global variable which
- // this call will create.
- //
- // ASM_NAME is the encoded, assembler-friendly version of NAME, or
- // the empty string if no encoding is needed.
- //
- // IS_HIDDEN will be true if the descriptor should only be visible
- // within the current object.
- //
- // IS_COMMON is true if NAME may be defined by several packages, and
- // the linker should merge all such definitions. If IS_COMMON is
- // false, NAME should be defined in only one file. In general
- // IS_COMMON will be true for the type descriptor of an unnamed type
- // or a builtin type. IS_HIDDEN and IS_COMMON will never both be
- // true.
- //
- // TYPE will be a struct type; the type of the returned expression
- // must be a pointer to this struct type.
- //
- // We must create the named structure before we know its
- // initializer, because the initializer may refer to its own
- // address. After calling this the frontend will call
- // immutable_struct_set_init.
- virtual Bvariable *
- immutable_struct (const std::string &name, const std::string &asm_name,
- bool is_hidden, bool is_common, tree type, Location)
- = 0;
-
- // Set the initial value of a variable created by immutable_struct.
- // The NAME, IS_HIDDEN, IS_COMMON, TYPE, and location parameters are
- // the same ones passed to immutable_struct. INITIALIZER will be a
- // composite literal of type TYPE. It will not contain any function
- // calls or anything else that can not be put into a read-only data
- // section. It may contain the address of variables created by
- // immutable_struct.
- virtual void immutable_struct_set_init (Bvariable *, const std::string &name,
- bool is_hidden, bool is_common,
- tree type, Location, tree initializer)
- = 0;
-
- // Create a reference to a named immutable initialized data
- // structure defined in some other package. This will be a
- // structure created by a call to immutable_struct with the same
- // NAME, ASM_NAME and TYPE and with IS_COMMON passed as false. This
- // corresponds to an extern const global variable in C.
- virtual Bvariable *immutable_struct_reference (const std::string &name,
- const std::string &asm_name,
- tree type, Location)
- = 0;
-
// Labels.
// Create a new label. NAME will be empty if this is a label