aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2loc.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2005-02-28 17:00:49 +0000
committerDaniel Jacobowitz <drow@false.org>2005-02-28 17:00:49 +0000
commit806048c68af789ffb76e44fca706a7915cfdb9aa (patch)
tree83e67e751bcf78f68476c295d662f947d514b9f9 /gdb/dwarf2loc.c
parentf67e617a26e6d1efafb752d5047b4ddc33056ab1 (diff)
downloadgdb-806048c68af789ffb76e44fca706a7915cfdb9aa.zip
gdb-806048c68af789ffb76e44fca706a7915cfdb9aa.tar.gz
gdb-806048c68af789ffb76e44fca706a7915cfdb9aa.tar.bz2
* dwarf2loc.c (loclist_read_variable): Set optimized_out
instead of reporting an error. * valprint.c (value_check_printable): New function. (common_val_print): New function. Use value_check_printable. (value_print): Use value_check_printable. * value.h (common_val_print): Add prototype. * c-valprint.c (c_val_print): Use common_val_print. * cp-valprint.c (cp_print_value_fields): Likewise. (cp_print_hpacc_virtual_table_entries): Likewise. * f-valprint.c (f_val_print): Likewise. * jv-valprint.c (java_value_print, java_print_value_fields): Likewise. * scm-valprint.c (scm_value_print): Likewise. * stack.c (print_frame_args): Likewise. * varobj.c (c_value_of_variable): Likewise. * p-valprint.c (pascal_val_print, pascal_value_print): Likewise. (pascal_object_print_value_fields): Likewise. Update call to pascal_object_print_static_field. (pascal_object_print_static_field): Remove TYPE argument. Use common_val_print.
Diffstat (limited to 'gdb/dwarf2loc.c')
-rw-r--r--gdb/dwarf2loc.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index 203ebdd..b715ae2 100644
--- a/gdb/dwarf2loc.c
+++ b/gdb/dwarf2loc.c
@@ -512,9 +512,14 @@ loclist_read_variable (struct symbol *symbol, struct frame_info *frame)
data = find_location_expression (dlbaton, &size,
frame ? get_frame_pc (frame) : 0);
if (data == NULL)
- error (_("Variable \"%s\" is not available."), SYMBOL_NATURAL_NAME (symbol));
-
- val = dwarf2_evaluate_loc_desc (symbol, frame, data, size, dlbaton->objfile);
+ {
+ val = allocate_value (SYMBOL_TYPE (symbol));
+ VALUE_LVAL (val) = not_lval;
+ set_value_optimized_out (val, 1);
+ }
+ else
+ val = dwarf2_evaluate_loc_desc (symbol, frame, data, size,
+ dlbaton->objfile);
return val;
}