diff options
author | Pedro Alves <palves@redhat.com> | 2009-02-06 22:50:52 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2009-02-06 22:50:52 +0000 |
commit | 5f5233d48e4aca803bda1339f5645c6f6b144dcf (patch) | |
tree | e81a888ae30e78ac1e5e1ca78cba03743d269d4b /gdb/defs.h | |
parent | 117de6a92498c0dd715fa0fdec577697433f3c5e (diff) | |
download | gdb-5f5233d48e4aca803bda1339f5645c6f6b144dcf.zip gdb-5f5233d48e4aca803bda1339f5645c6f6b144dcf.tar.gz gdb-5f5233d48e4aca803bda1339f5645c6f6b144dcf.tar.bz2 |
gdb/
2009-02-06 Jim Blandy <jimb@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
Vladimir Prus <vladimir@codesourcery.com>
Pedro Alves <pedro@codesourcery.com>
* defs.h (enum lval_type): New value: lval_computed.
* value.h (struct lval_funcs): New type.
(allocate_computed_value, value_computed_funcs)
(value_computed_closure): New declarations.
* value.c (struct value): Add a structure to the location union
for computed lvalues, containing 'funcs' and 'closure' members.
(allocate_computed_value, value_computed_funcs)
(value_computed_closure): New functions.
(value_free): For computed lvalues, call the closure's
'free_closure' function before freeing the value itself.
(value_copy): If we're copying an lval_computed value, call the
closure's 'copy_closure' function.
(set_value_component_location): If the original value is a
computed lvalue, then call the closure's 'copy_closure' function.
(value_of_internalvar): If an internal variable's value is a
computed lvalue, make retrieving its value produce an equivalent
computed lvalue.
* valops.c (value_fetch_lazy): Unlazy computed lvalues by calling
their read function.
(value_assign): Assign to computed lvalues by calling their write
function.
gdb/doc/
2009-02-06 Pedro Alves <pedro@codesourcery.com>
* gdbint.texinfo (Values): New chapter.
Diffstat (limited to 'gdb/defs.h')
-rw-r--r-- | gdb/defs.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -652,7 +652,10 @@ enum lval_type /* In a gdb internal variable. */ lval_internalvar, /* Part of a gdb internal variable (structure field). */ - lval_internalvar_component + lval_internalvar_component, + /* Value's bits are fetched and stored using functions provided by + its creator. */ + lval_computed }; /* Control types for commands */ |