diff options
author | Tom Tromey <tromey@redhat.com> | 2011-05-13 15:44:49 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2011-05-13 15:44:49 +0000 |
commit | 72fc29ff1236177b2be5f702ed40c7d327897e7e (patch) | |
tree | bce50db16c82b81493f308495b856e7364cefcee /gdb/dwarf2-frame.c | |
parent | 3ac5406bdb24ecbb504bda4c539a517fc51122e8 (diff) | |
download | gdb-72fc29ff1236177b2be5f702ed40c7d327897e7e.zip gdb-72fc29ff1236177b2be5f702ed40c7d327897e7e.tar.gz gdb-72fc29ff1236177b2be5f702ed40c7d327897e7e.tar.bz2 |
* utils.c (do_value_free): New function.
(make_cleanup_value_free): Likewise.
* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Handle value
freeing correctly.
(dwarf2_loc_desc_needs_frame): Call
make_cleanup_value_free_to_mark.
* dwarf2expr.h (struct dwarf_expr_context) <mark>: Remove field.
* dwarf2expr.c (free_dwarf_expr_context): Don't call
value_free_to_mark.
(new_dwarf_expr_context): Don't call value_mark.
* dwarf2-frame.c (execute_stack_op): Call
make_cleanup_value_free_to_mark.
* defs.h (make_cleanup_value_free): Declare.
Diffstat (limited to 'gdb/dwarf2-frame.c')
-rw-r--r-- | gdb/dwarf2-frame.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index 4e4e6d9..fe48713 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -402,6 +402,7 @@ execute_stack_op (const gdb_byte *exp, ULONGEST len, int addr_size, ctx = new_dwarf_expr_context (); old_chain = make_cleanup_free_dwarf_expr_context (ctx); + make_cleanup_value_free_to_mark (value_mark ()); ctx->gdbarch = get_frame_arch (this_frame); ctx->addr_size = addr_size; |