aboutsummaryrefslogtreecommitdiff
path: root/gdb/value.h
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1994-12-20 19:49:18 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1994-12-20 19:49:18 +0000
commitff87df190bc2b865e5ce55d2f13bf4fd459a7093 (patch)
tree6d821a79577e92a8ed9997e24a56e43b27daf7d9 /gdb/value.h
parente7d9ee909cc34c722392e92cbb592fa566f56038 (diff)
downloadgdb-ff87df190bc2b865e5ce55d2f13bf4fd459a7093.zip
gdb-ff87df190bc2b865e5ce55d2f13bf4fd459a7093.tar.gz
gdb-ff87df190bc2b865e5ce55d2f13bf4fd459a7093.tar.bz2
* value.h: Remove obsolete comments about FRAME vs struct
frame_info *.
Diffstat (limited to 'gdb/value.h')
-rw-r--r--gdb/value.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/gdb/value.h b/gdb/value.h
index 3c4a047..dc61bea 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -81,6 +81,13 @@ struct value
variables or put into the value history are taken off this
list. */
struct value *next;
+
+ /* ??? When is this used? */
+ union {
+ CORE_ADDR memaddr;
+ char *myaddr;
+ } substring_addr;
+
/* If an lval is forced to repeat, a new value is created with
these fields set. The new value is not an lval. */
short repeated;
@@ -105,6 +112,7 @@ struct value
long contents[1];
double force_double_align;
LONGEST force_longlong_align;
+ char *literal_data;
} aligner;
};
@@ -143,23 +151,24 @@ extern int value_fetch_lazy PARAMS ((value_ptr val));
/* Overload the contents field to store literal data for
arrays. */
-#define VALUE_LITERAL_DATA(val) ((val)->aligner.contents[0])
+#define VALUE_LITERAL_DATA(val) ((val)->aligner.literal_data)
-/* Overload the frame address field to contain a pointer to
+/* Pointer to
the base substring, for F77 string substring operators.
We use this ONLY when doing operations of the form
FOO= 'hello'
FOO(2:4) = 'foo'
- In the above case VALUE_SUBSTRING_START would point to
+ In the above case VALUE_SUBSTRING_* would point to
FOO(2) in the original FOO string.
Depending on whether the base object is allocated in the
- inferior or the superior process, VALUE_SUBSTRING_START
- contains a ptr. to memory in the relevant area. */
+ inferior or the superior process, use VALUE_SUBSTRING_MYADDR or
+ VALUE_SUBSTRING_MEMADDR. */
-#define VALUE_SUBSTRING_START(val) VALUE_FRAME(val)
+#define VALUE_SUBSTRING_MEMADDR(val) (val)->substring_addr.memaddr
+#define VALUE_SUBSTRING_MYADDR(val) (val)->substring_addr.myaddr
/* Convert a REF to the object referenced. */
@@ -247,7 +256,6 @@ extern value_ptr value_at PARAMS ((struct type *type, CORE_ADDR addr));
extern value_ptr value_at_lazy PARAMS ((struct type *type, CORE_ADDR addr));
-/* FIXME: Assumes equivalence of "struct frame_info *" and "FRAME" */
extern value_ptr value_from_register PARAMS ((struct type *type, int regnum,
struct frame_info * frame));
@@ -258,11 +266,9 @@ extern value_ptr value_of_register PARAMS ((int regnum));
extern int symbol_read_needs_frame PARAMS ((struct symbol *));
-/* FIXME: Assumes equivalence of "struct frame_info *" and "FRAME" */
extern value_ptr read_var_value PARAMS ((struct symbol *var,
struct frame_info *frame));
-/* FIXME: Assumes equivalence of "struct frame_info *" and "FRAME" */
extern value_ptr locate_var_value PARAMS ((struct symbol *var,
struct frame_info *frame));
@@ -428,7 +434,6 @@ write_register PARAMS ((int regno, LONGEST val));
extern void
supply_register PARAMS ((int regno, char *val));
-/* FIXME: Assumes equivalence of "struct frame_info *" and "FRAME" */
extern void
get_saved_register PARAMS ((char *raw_buffer, int *optimized,
CORE_ADDR *addrp, struct frame_info *frame,
@@ -470,7 +475,6 @@ val_print PARAMS ((struct type *type, char *valaddr, CORE_ADDR address,
extern int
val_print_string PARAMS ((CORE_ADDR addr, unsigned int len, GDB_FILE *stream));
-/* FIXME: Assumes equivalence of "struct frame_info *" and "FRAME" */
extern void
print_variable_value PARAMS ((struct symbol *var, struct frame_info *frame,
GDB_FILE *stream));