aboutsummaryrefslogtreecommitdiff
path: root/gdb/defs.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2009-02-06 22:50:52 +0000
committerPedro Alves <palves@redhat.com>2009-02-06 22:50:52 +0000
commit5f5233d48e4aca803bda1339f5645c6f6b144dcf (patch)
treee81a888ae30e78ac1e5e1ca78cba03743d269d4b /gdb/defs.h
parent117de6a92498c0dd715fa0fdec577697433f3c5e (diff)
downloadgdb-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.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/defs.h b/gdb/defs.h
index 209b11d..845b320 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -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 */