diff options
Diffstat (limited to 'gcc/rust/rust-backend.h')
-rw-r--r-- | gcc/rust/rust-backend.h | 113 |
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 |