mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-30 07:49:07 +08:00
gdb: Convert language la_read_var_value field to a method
This commit changes the language_data::la_read_var_value function pointer member variable into a member function of language_defn. An interesting aspect of this change is that the implementation of language_defn::read_var_value is actually in findvar.c. This is partly historical, the new language_defn::read_var_value is a rename of default_read_var_value, which was already in that file, but also, that is the file that contains the helper functions needed by the read_var_value method, so it makes sens that the method implementation should continue to live there (I think). There should be no user visible changes after this commit. gdb/ChangeLog: * ada-lang.c (ada_read_var_value): Delete function, move implementation to... (ada_language::read_var_value): ...here. (ada_language_data): Delete la_read_var_value initializer. * c-lang.c (c_language_data): Likewise. (cplus_language_data): Likewise. (minimal_language_data): Likewise. * d-lang.c (d_language_data): Likewise. * f-lang.c (f_language_data): Likewise. * findvar.c (default_read_var_value): Rename to... (language_defn::read_var_value): ...this. * findvar.c (read_var_value): Update header comment, and change to call member function instead of function pointer. * go-lang.c (go_language_data): Likewise. * language.c (unknown_language_data): Delete la_read_var_value initializer. (auto_language_data): Likewise. * language.h (struct language_data): Delete la_read_var_value field. (language_defn::read_var_value): New member function. (default_read_var_value): Delete declaration. * m2-lang.c (m2_language_data): Delete la_read_var_value initializer. * objc-lang.c (objc_language_data): Likewise. * opencl-lang.c (opencl_language_data): Likewise. * p-lang.c (pascal_language_data): Likewise. * rust-lang.c (rust_language_data): Likewise. * value.h (default_read_var_value): Delete declaration.
This commit is contained in:
@ -1,3 +1,34 @@
|
|||||||
|
2020-06-02 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
|
* ada-lang.c (ada_read_var_value): Delete function, move
|
||||||
|
implementation to...
|
||||||
|
(ada_language::read_var_value): ...here.
|
||||||
|
(ada_language_data): Delete la_read_var_value initializer.
|
||||||
|
* c-lang.c (c_language_data): Likewise.
|
||||||
|
(cplus_language_data): Likewise.
|
||||||
|
(minimal_language_data): Likewise.
|
||||||
|
* d-lang.c (d_language_data): Likewise.
|
||||||
|
* f-lang.c (f_language_data): Likewise.
|
||||||
|
* findvar.c (default_read_var_value): Rename to...
|
||||||
|
(language_defn::read_var_value): ...this.
|
||||||
|
* findvar.c (read_var_value): Update header comment, and change to
|
||||||
|
call member function instead of function pointer.
|
||||||
|
* go-lang.c (go_language_data): Likewise.
|
||||||
|
* language.c (unknown_language_data): Delete la_read_var_value
|
||||||
|
initializer.
|
||||||
|
(auto_language_data): Likewise.
|
||||||
|
* language.h (struct language_data): Delete la_read_var_value
|
||||||
|
field.
|
||||||
|
(language_defn::read_var_value): New member function.
|
||||||
|
(default_read_var_value): Delete declaration.
|
||||||
|
* m2-lang.c (m2_language_data): Delete la_read_var_value
|
||||||
|
initializer.
|
||||||
|
* objc-lang.c (objc_language_data): Likewise.
|
||||||
|
* opencl-lang.c (opencl_language_data): Likewise.
|
||||||
|
* p-lang.c (pascal_language_data): Likewise.
|
||||||
|
* rust-lang.c (rust_language_data): Likewise.
|
||||||
|
* value.h (default_read_var_value): Delete declaration.
|
||||||
|
|
||||||
2020-06-02 Andrew Burgess <andrew.burgess@embecosm.com>
|
2020-06-02 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
* ada-lang.c (ada_print_array_index): Delete function, move
|
* ada-lang.c (ada_print_array_index): Delete function, move
|
||||||
|
@ -14023,26 +14023,6 @@ ada_get_symbol_name_matcher (const lookup_name_info &lookup_name)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Implement the "la_read_var_value" language_defn method for Ada. */
|
|
||||||
|
|
||||||
static struct value *
|
|
||||||
ada_read_var_value (struct symbol *var, const struct block *var_block,
|
|
||||||
struct frame_info *frame)
|
|
||||||
{
|
|
||||||
/* The only case where default_read_var_value is not sufficient
|
|
||||||
is when VAR is a renaming... */
|
|
||||||
if (frame != nullptr)
|
|
||||||
{
|
|
||||||
const struct block *frame_block = get_frame_block (frame, NULL);
|
|
||||||
if (frame_block != nullptr && ada_is_renaming_symbol (var))
|
|
||||||
return ada_read_renaming_var_value (var, frame_block);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* This is a typical case where we expect the default_read_var_value
|
|
||||||
function to work. */
|
|
||||||
return default_read_var_value (var, var_block, frame);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const char *ada_extensions[] =
|
static const char *ada_extensions[] =
|
||||||
{
|
{
|
||||||
".adb", ".ads", ".a", ".ada", ".dg", NULL
|
".adb", ".ads", ".a", ".ada", ".dg", NULL
|
||||||
@ -14071,7 +14051,6 @@ extern const struct language_data ada_language_data =
|
|||||||
ada_print_typedef, /* Print a typedef using appropriate syntax */
|
ada_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
ada_value_print_inner, /* la_value_print_inner */
|
ada_value_print_inner, /* la_value_print_inner */
|
||||||
ada_value_print, /* Print a top-level value */
|
ada_value_print, /* Print a top-level value */
|
||||||
ada_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline */
|
NULL, /* Language specific skip_trampoline */
|
||||||
NULL, /* name_of_this */
|
NULL, /* name_of_this */
|
||||||
true, /* la_store_sym_names_in_linkage_form_p */
|
true, /* la_store_sym_names_in_linkage_form_p */
|
||||||
@ -14120,6 +14099,26 @@ public:
|
|||||||
LA_VALUE_PRINT (index_value, stream, options);
|
LA_VALUE_PRINT (index_value, stream, options);
|
||||||
fprintf_filtered (stream, " => ");
|
fprintf_filtered (stream, " => ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Implement the "read_var_value" language_defn method for Ada. */
|
||||||
|
|
||||||
|
struct value *read_var_value (struct symbol *var,
|
||||||
|
const struct block *var_block,
|
||||||
|
struct frame_info *frame) const override
|
||||||
|
{
|
||||||
|
/* The only case where default_read_var_value is not sufficient
|
||||||
|
is when VAR is a renaming... */
|
||||||
|
if (frame != nullptr)
|
||||||
|
{
|
||||||
|
const struct block *frame_block = get_frame_block (frame, NULL);
|
||||||
|
if (frame_block != nullptr && ada_is_renaming_symbol (var))
|
||||||
|
return ada_read_renaming_var_value (var, frame_block);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This is a typical case where we expect the default_read_var_value
|
||||||
|
function to work. */
|
||||||
|
return language_defn::read_var_value (var, var_block, frame);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Single instance of the Ada language class. */
|
/* Single instance of the Ada language class. */
|
||||||
|
@ -907,7 +907,6 @@ extern const struct language_data c_language_data =
|
|||||||
c_print_typedef, /* Print a typedef using appropriate syntax */
|
c_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
c_value_print_inner, /* la_value_print_inner */
|
c_value_print_inner, /* la_value_print_inner */
|
||||||
c_value_print, /* Print a top-level value */
|
c_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline */
|
NULL, /* Language specific skip_trampoline */
|
||||||
NULL, /* name_of_this */
|
NULL, /* name_of_this */
|
||||||
true, /* la_store_sym_names_in_linkage_form_p */
|
true, /* la_store_sym_names_in_linkage_form_p */
|
||||||
@ -1067,7 +1066,6 @@ extern const struct language_data cplus_language_data =
|
|||||||
c_print_typedef, /* Print a typedef using appropriate syntax */
|
c_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
c_value_print_inner, /* la_value_print_inner */
|
c_value_print_inner, /* la_value_print_inner */
|
||||||
c_value_print, /* Print a top-level value */
|
c_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
cplus_skip_trampoline, /* Language specific skip_trampoline */
|
cplus_skip_trampoline, /* Language specific skip_trampoline */
|
||||||
"this", /* name_of_this */
|
"this", /* name_of_this */
|
||||||
false, /* la_store_sym_names_in_linkage_form_p */
|
false, /* la_store_sym_names_in_linkage_form_p */
|
||||||
@ -1136,7 +1134,6 @@ extern const struct language_data asm_language_data =
|
|||||||
c_print_typedef, /* Print a typedef using appropriate syntax */
|
c_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
c_value_print_inner, /* la_value_print_inner */
|
c_value_print_inner, /* la_value_print_inner */
|
||||||
c_value_print, /* Print a top-level value */
|
c_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline */
|
NULL, /* Language specific skip_trampoline */
|
||||||
NULL, /* name_of_this */
|
NULL, /* name_of_this */
|
||||||
true, /* la_store_sym_names_in_linkage_form_p */
|
true, /* la_store_sym_names_in_linkage_form_p */
|
||||||
@ -1202,7 +1199,6 @@ extern const struct language_data minimal_language_data =
|
|||||||
c_print_typedef, /* Print a typedef using appropriate syntax */
|
c_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
c_value_print_inner, /* la_value_print_inner */
|
c_value_print_inner, /* la_value_print_inner */
|
||||||
c_value_print, /* Print a top-level value */
|
c_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline */
|
NULL, /* Language specific skip_trampoline */
|
||||||
NULL, /* name_of_this */
|
NULL, /* name_of_this */
|
||||||
true, /* la_store_sym_names_in_linkage_form_p */
|
true, /* la_store_sym_names_in_linkage_form_p */
|
||||||
|
@ -228,7 +228,6 @@ extern const struct language_data d_language_data =
|
|||||||
syntax. */
|
syntax. */
|
||||||
d_value_print_inner, /* la_value_print_inner */
|
d_value_print_inner, /* la_value_print_inner */
|
||||||
c_value_print, /* Print a top-level value. */
|
c_value_print, /* Print a top-level value. */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline. */
|
NULL, /* Language specific skip_trampoline. */
|
||||||
"this",
|
"this",
|
||||||
false, /* la_store_sym_names_in_linkage_form_p */
|
false, /* la_store_sym_names_in_linkage_form_p */
|
||||||
|
@ -650,7 +650,6 @@ extern const struct language_data f_language_data =
|
|||||||
f_print_typedef, /* Print a typedef using appropriate syntax */
|
f_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
f_value_print_innner, /* la_value_print_inner */
|
f_value_print_innner, /* la_value_print_inner */
|
||||||
c_value_print, /* FIXME */
|
c_value_print, /* FIXME */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline */
|
NULL, /* Language specific skip_trampoline */
|
||||||
NULL, /* name_of_this */
|
NULL, /* name_of_this */
|
||||||
false, /* la_store_sym_names_in_linkage_form_p */
|
false, /* la_store_sym_names_in_linkage_form_p */
|
||||||
|
@ -578,12 +578,12 @@ get_hosting_frame (struct symbol *var, const struct block *var_block,
|
|||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* A default implementation for the "la_read_var_value" hook in
|
/* See language.h. */
|
||||||
the language vector which should work in most situations. */
|
|
||||||
|
|
||||||
struct value *
|
struct value *
|
||||||
default_read_var_value (struct symbol *var, const struct block *var_block,
|
language_defn::read_var_value (struct symbol *var,
|
||||||
struct frame_info *frame)
|
const struct block *var_block,
|
||||||
|
struct frame_info *frame) const
|
||||||
{
|
{
|
||||||
struct value *v;
|
struct value *v;
|
||||||
struct type *type = SYMBOL_TYPE (var);
|
struct type *type = SYMBOL_TYPE (var);
|
||||||
@ -801,7 +801,7 @@ default_read_var_value (struct symbol *var, const struct block *var_block,
|
|||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Calls VAR's language la_read_var_value hook with the given arguments. */
|
/* Calls VAR's language read_var_value hook with the given arguments. */
|
||||||
|
|
||||||
struct value *
|
struct value *
|
||||||
read_var_value (struct symbol *var, const struct block *var_block,
|
read_var_value (struct symbol *var, const struct block *var_block,
|
||||||
@ -810,9 +810,8 @@ read_var_value (struct symbol *var, const struct block *var_block,
|
|||||||
const struct language_defn *lang = language_def (var->language ());
|
const struct language_defn *lang = language_def (var->language ());
|
||||||
|
|
||||||
gdb_assert (lang != NULL);
|
gdb_assert (lang != NULL);
|
||||||
gdb_assert (lang->la_read_var_value != NULL);
|
|
||||||
|
|
||||||
return lang->la_read_var_value (var, var_block, frame);
|
return lang->read_var_value (var, var_block, frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Install default attributes for register values. */
|
/* Install default attributes for register values. */
|
||||||
|
@ -599,7 +599,6 @@ extern const struct language_data go_language_data =
|
|||||||
syntax. */
|
syntax. */
|
||||||
go_value_print_inner, /* la_value_print_inner */
|
go_value_print_inner, /* la_value_print_inner */
|
||||||
c_value_print, /* Print a top-level value. */
|
c_value_print, /* Print a top-level value. */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline. */
|
NULL, /* Language specific skip_trampoline. */
|
||||||
NULL, /* name_of_this */
|
NULL, /* name_of_this */
|
||||||
false, /* la_store_sym_names_in_linkage_form_p */
|
false, /* la_store_sym_names_in_linkage_form_p */
|
||||||
|
@ -833,7 +833,6 @@ extern const struct language_data unknown_language_data =
|
|||||||
default_print_typedef, /* Print a typedef using appropriate syntax */
|
default_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
unk_lang_value_print_inner, /* la_value_print_inner */
|
unk_lang_value_print_inner, /* la_value_print_inner */
|
||||||
unk_lang_value_print, /* Print a top-level value */
|
unk_lang_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
unk_lang_trampoline, /* Language specific skip_trampoline */
|
unk_lang_trampoline, /* Language specific skip_trampoline */
|
||||||
"this", /* name_of_this */
|
"this", /* name_of_this */
|
||||||
true, /* store_sym_names_in_linkage_form_p */
|
true, /* store_sym_names_in_linkage_form_p */
|
||||||
@ -897,7 +896,6 @@ extern const struct language_data auto_language_data =
|
|||||||
default_print_typedef, /* Print a typedef using appropriate syntax */
|
default_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
unk_lang_value_print_inner, /* la_value_print_inner */
|
unk_lang_value_print_inner, /* la_value_print_inner */
|
||||||
unk_lang_value_print, /* Print a top-level value */
|
unk_lang_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
unk_lang_trampoline, /* Language specific skip_trampoline */
|
unk_lang_trampoline, /* Language specific skip_trampoline */
|
||||||
"this", /* name_of_this */
|
"this", /* name_of_this */
|
||||||
false, /* store_sym_names_in_linkage_form_p */
|
false, /* store_sym_names_in_linkage_form_p */
|
||||||
|
@ -272,21 +272,6 @@ struct language_data
|
|||||||
void (*la_value_print) (struct value *, struct ui_file *,
|
void (*la_value_print) (struct value *, struct ui_file *,
|
||||||
const struct value_print_options *);
|
const struct value_print_options *);
|
||||||
|
|
||||||
/* Given a symbol VAR, the corresponding block VAR_BLOCK (if any) and a
|
|
||||||
stack frame id FRAME, read the value of the variable and return (pointer
|
|
||||||
to a) struct value containing the value.
|
|
||||||
|
|
||||||
VAR_BLOCK is needed if there's a possibility for VAR to be outside
|
|
||||||
FRAME. This is what happens if FRAME correspond to a nested function
|
|
||||||
and VAR is defined in the outer function. If callers know that VAR is
|
|
||||||
located in FRAME or is global/static, NULL can be passed as VAR_BLOCK.
|
|
||||||
|
|
||||||
Throw an error if the variable cannot be found. */
|
|
||||||
|
|
||||||
struct value *(*la_read_var_value) (struct symbol *var,
|
|
||||||
const struct block *var_block,
|
|
||||||
struct frame_info *frame);
|
|
||||||
|
|
||||||
/* PC is possibly an unknown languages trampoline.
|
/* PC is possibly an unknown languages trampoline.
|
||||||
If that PC falls in a trampoline belonging to this language,
|
If that PC falls in a trampoline belonging to this language,
|
||||||
return the address of the first pc in the real function, or 0
|
return the address of the first pc in the real function, or 0
|
||||||
@ -497,6 +482,21 @@ struct language_defn : language_data
|
|||||||
struct ui_file *stream,
|
struct ui_file *stream,
|
||||||
const value_print_options *options) const;
|
const value_print_options *options) const;
|
||||||
|
|
||||||
|
/* Given a symbol VAR, the corresponding block VAR_BLOCK (if any) and a
|
||||||
|
stack frame id FRAME, read the value of the variable and return (pointer
|
||||||
|
to a) struct value containing the value.
|
||||||
|
|
||||||
|
VAR_BLOCK is needed if there's a possibility for VAR to be outside
|
||||||
|
FRAME. This is what happens if FRAME correspond to a nested function
|
||||||
|
and VAR is defined in the outer function. If callers know that VAR is
|
||||||
|
located in FRAME or is global/static, NULL can be passed as VAR_BLOCK.
|
||||||
|
|
||||||
|
Throw an error if the variable cannot be found. */
|
||||||
|
|
||||||
|
virtual struct value *read_var_value (struct symbol *var,
|
||||||
|
const struct block *var_block,
|
||||||
|
struct frame_info *frame) const;
|
||||||
|
|
||||||
/* List of all known languages. */
|
/* List of all known languages. */
|
||||||
static const struct language_defn *languages[nr_languages];
|
static const struct language_defn *languages[nr_languages];
|
||||||
};
|
};
|
||||||
|
@ -397,7 +397,6 @@ extern const struct language_data m2_language_data =
|
|||||||
m2_print_typedef, /* Print a typedef using appropriate syntax */
|
m2_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
m2_value_print_inner, /* la_value_print_inner */
|
m2_value_print_inner, /* la_value_print_inner */
|
||||||
c_value_print, /* Print a top-level value */
|
c_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline */
|
NULL, /* Language specific skip_trampoline */
|
||||||
NULL, /* name_of_this */
|
NULL, /* name_of_this */
|
||||||
false, /* la_store_sym_names_in_linkage_form_p */
|
false, /* la_store_sym_names_in_linkage_form_p */
|
||||||
|
@ -386,7 +386,6 @@ extern const struct language_data objc_language_data =
|
|||||||
c_print_typedef, /* Print a typedef using appropriate syntax */
|
c_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
c_value_print_inner, /* la_value_print_inner */
|
c_value_print_inner, /* la_value_print_inner */
|
||||||
c_value_print, /* Print a top-level value */
|
c_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
objc_skip_trampoline, /* Language specific skip_trampoline */
|
objc_skip_trampoline, /* Language specific skip_trampoline */
|
||||||
"self", /* name_of_this */
|
"self", /* name_of_this */
|
||||||
false, /* la_store_sym_names_in_linkage_form_p */
|
false, /* la_store_sym_names_in_linkage_form_p */
|
||||||
|
@ -1063,7 +1063,6 @@ extern const struct language_data opencl_language_data =
|
|||||||
c_print_typedef, /* Print a typedef using appropriate syntax */
|
c_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
c_value_print_inner, /* la_value_print_inner */
|
c_value_print_inner, /* la_value_print_inner */
|
||||||
c_value_print, /* Print a top-level value */
|
c_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline */
|
NULL, /* Language specific skip_trampoline */
|
||||||
NULL, /* name_of_this */
|
NULL, /* name_of_this */
|
||||||
false, /* la_store_sym_names_in_linkage_form_p */
|
false, /* la_store_sym_names_in_linkage_form_p */
|
||||||
|
@ -451,7 +451,6 @@ extern const struct language_data pascal_language_data =
|
|||||||
pascal_print_typedef, /* Print a typedef using appropriate syntax */
|
pascal_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
pascal_value_print_inner, /* la_value_print_inner */
|
pascal_value_print_inner, /* la_value_print_inner */
|
||||||
pascal_value_print, /* Print a top-level value */
|
pascal_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline */
|
NULL, /* Language specific skip_trampoline */
|
||||||
"this", /* name_of_this */
|
"this", /* name_of_this */
|
||||||
false, /* la_store_sym_names_in_linkage_form_p */
|
false, /* la_store_sym_names_in_linkage_form_p */
|
||||||
|
@ -2123,7 +2123,6 @@ extern const struct language_data rust_language_data =
|
|||||||
rust_print_typedef, /* Print a typedef using appropriate syntax */
|
rust_print_typedef, /* Print a typedef using appropriate syntax */
|
||||||
rust_value_print_inner, /* la_value_print_inner */
|
rust_value_print_inner, /* la_value_print_inner */
|
||||||
c_value_print, /* Print a top-level value */
|
c_value_print, /* Print a top-level value */
|
||||||
default_read_var_value, /* la_read_var_value */
|
|
||||||
NULL, /* Language specific skip_trampoline */
|
NULL, /* Language specific skip_trampoline */
|
||||||
NULL, /* name_of_this */
|
NULL, /* name_of_this */
|
||||||
false, /* la_store_sym_names_in_linkage_form_p */
|
false, /* la_store_sym_names_in_linkage_form_p */
|
||||||
|
@ -744,10 +744,6 @@ extern struct value *read_var_value (struct symbol *var,
|
|||||||
const struct block *var_block,
|
const struct block *var_block,
|
||||||
struct frame_info *frame);
|
struct frame_info *frame);
|
||||||
|
|
||||||
extern struct value *default_read_var_value (struct symbol *var,
|
|
||||||
const struct block *var_block,
|
|
||||||
struct frame_info *frame);
|
|
||||||
|
|
||||||
extern struct value *allocate_value (struct type *type);
|
extern struct value *allocate_value (struct type *type);
|
||||||
extern struct value *allocate_value_lazy (struct type *type);
|
extern struct value *allocate_value_lazy (struct type *type);
|
||||||
extern void value_contents_copy (struct value *dst, LONGEST dst_offset,
|
extern void value_contents_copy (struct value *dst, LONGEST dst_offset,
|
||||||
|
Reference in New Issue
Block a user