diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-03-22 21:06:34 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-03-22 21:06:34 +0000 |
commit | dd90784ccd58dfb449e9ccfd731b91db27e345d6 (patch) | |
tree | bd555cc67e2a42a9ae99304478c39f55f1367b22 /gdb/dwarf2loc.c | |
parent | dc80f6ae78dff1ae428d4d312eb47f5b6bb8cea6 (diff) | |
download | gdb-dd90784ccd58dfb449e9ccfd731b91db27e345d6.zip gdb-dd90784ccd58dfb449e9ccfd731b91db27e345d6.tar.gz gdb-dd90784ccd58dfb449e9ccfd731b91db27e345d6.tar.bz2 |
gdb/
* dwarf2expr.c (execute_stack_op): Handle DW_OP_GNU_entry_value. New
label abort_expression.
* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Handle
DWARF_VALUE_OPTIMIZED_OUT.
gdb/testsuite/
* gdb.dwarf2/dw2-entry-value-main.c: New file.
* gdb.dwarf2/dw2-entry-value.S: New file.
* gdb.dwarf2/dw2-entry-value.exp: New file.
Diffstat (limited to 'gdb/dwarf2loc.c')
-rw-r--r-- | gdb/dwarf2loc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c index 9fd8df0..4c13307 100644 --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c @@ -1220,12 +1220,17 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, } break; + case DWARF_VALUE_OPTIMIZED_OUT: + retval = allocate_value (type); + VALUE_LVAL (retval) = not_lval; + set_value_optimized_out (retval, 1); + break; + /* DWARF_VALUE_IMPLICIT_POINTER was converted to a pieced operation by execute_stack_op. */ case DWARF_VALUE_IMPLICIT_POINTER: /* DWARF_VALUE_OPTIMIZED_OUT can't occur in this context -- it can only be encountered when making a piece. */ - case DWARF_VALUE_OPTIMIZED_OUT: default: internal_error (__FILE__, __LINE__, _("invalid location type")); } |