diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2009-06-03 18:16:44 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2009-06-03 18:16:44 +0000 |
commit | 4fa62494657f9b422edd7049c7207bd6c6849c3f (patch) | |
tree | 95b9aff30ec88b11de20b097d9803e93b4303069 /gdb/value.h | |
parent | 6ceaaae57734058aa008b218f3b44581c5655a56 (diff) | |
download | gdb-4fa62494657f9b422edd7049c7207bd6c6849c3f.zip gdb-4fa62494657f9b422edd7049c7207bd6c6849c3f.tar.gz gdb-4fa62494657f9b422edd7049c7207bd6c6849c3f.tar.bz2 |
* value.h (struct internalvar): Remove.
(get_internalvar_integer): Add prototype.
(set_internalvar_integer): Add prototype.
(clear_internalvar): Add prototype.
* value.c (struct internalvar): Move here. Add type member. Remove
endian member. Add union_internalvar member instead of value member.
(init_if_undefined_command): Use intvar->type.
(create_internalvar): Do not initialize value/endian, but type.
(create_internalvar_type_lazy): Call create_internalvar.
(value_of_internalvar): Handle host-side internalvar contents.
(set_internalvar_component): Likewise.
(set_internalvar): Likewise.
(get_internalvar_integer): New function.
(clear_internalvar): Likewise.
(set_internalvar_integer): Likewise.
(preserve_values): Handle host-side internalvar contents.
* breakpoint.c (set_breakpoint_count, set_tracepoint_count): Call
set_internalvar_integer instead of set_internalvar.
* findcmd.c (find_command): Likewise.
* infrun.c (handle_inferior_event): Likewise.
* source.c (forward_search_command, reverse_search_command): Likewise.
* tracepoint.c (set_traceframe_num, set_tracepoint_num,
set_traceframe_context): Likewise.
* printcmd.c (x_command): Call clear_internalvar instead of
set_internalvar.
* tracepoint.c (set_traceframe_context): Likewise.
* breakpoint.c (get_number_trailer): Call get_internalvar_integer
instead of value_of_internalvar.
* linespec.c (decode_dollar): Likewise.
* expprint.c (dump_subexp_body_standard): Use internalvar_name
instead of accessing internalvar private elements.
* valops.c (value_assign): Copy from original source instead of
accessing internalvar private elements.
Diffstat (limited to 'gdb/value.h')
-rw-r--r-- | gdb/value.h | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/gdb/value.h b/gdb/value.h index 456c9c8..fcff0ad 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -309,23 +309,6 @@ extern struct value *coerce_ref (struct value *value); extern struct value *coerce_array (struct value *value); -/* Internal variables (variables for convenience of use of debugger) - are recorded as a chain of these structures. */ - -typedef struct value * (*internalvar_make_value) (struct internalvar *); - -struct internalvar -{ - struct internalvar *next; - char *name; - struct value *value; - internalvar_make_value make_value; - int endian; - /* True if this internalvar is the canonical name for a convenience - function. */ - int canonical; -}; - #include "symtab.h" @@ -538,8 +521,14 @@ extern struct value *access_value_history (int num); extern struct value *value_of_internalvar (struct internalvar *var); +extern int get_internalvar_integer (struct internalvar *var, LONGEST *l); + extern void set_internalvar (struct internalvar *var, struct value *val); +extern void set_internalvar_integer (struct internalvar *var, LONGEST l); + +extern void clear_internalvar (struct internalvar *var); + extern void set_internalvar_component (struct internalvar *var, int offset, int bitpos, int bitsize, @@ -549,6 +538,8 @@ extern struct internalvar *lookup_only_internalvar (const char *name); extern struct internalvar *create_internalvar (const char *name); +typedef struct value * (*internalvar_make_value) (struct internalvar *); + extern struct internalvar * create_internalvar_type_lazy (char *name, internalvar_make_value fun); |