aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2expr.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2010-06-11 15:21:11 +0000
committerTom Tromey <tromey@redhat.com>2010-06-11 15:21:11 +0000
commit3cf03773b76a534bca744f8353a3f5bac5b5a582 (patch)
treeb0244faa27d41ca3a10561ef07a1f4470535c2b0 /gdb/dwarf2expr.c
parent81bb31c0d9904c80f282134ea1ccb6899f93b0a6 (diff)
downloadgdb-3cf03773b76a534bca744f8353a3f5bac5b5a582.zip
gdb-3cf03773b76a534bca744f8353a3f5bac5b5a582.tar.gz
gdb-3cf03773b76a534bca744f8353a3f5bac5b5a582.tar.bz2
* vec.h (VEC_cleanup): New macro.
(DEF_VEC_ALLOC_FUNC_I): Update. (DEF_VEC_ALLOC_FUNC_P): Likewise. (DEF_VEC_ALLOC_FUNC_O): Likewise. * dwarf2loc.c (struct axs_var_loc): Remove. (unimplemented): New function. (translate_register): Likewise. (access_memory): Likewise. (compile_dwarf_to_ax): Likewise. (dwarf2_tracepoint_var_loc): Remove. (dwarf2_tracepoint_var_access): Likewise. (dwarf2_tracepoint_var_ref): Likewise. (locexpr_tracepoint_var_ref): Use compile_dwarf_to_ax. (loclist_tracepoint_var_ref): Likewise. * dwarf2expr.h (dwarf_expr_require_composition): Declare. * dwarf2expr.c (dwarf_expr_require_composition): Rename from require_composition. No longer static. (execute_stack_op): Update. * ax-gdb.h (trace_kludge): Declare.
Diffstat (limited to 'gdb/dwarf2expr.c')
-rw-r--r--gdb/dwarf2expr.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c
index 4e5a0fc..0dc0aaf 100644
--- a/gdb/dwarf2expr.c
+++ b/gdb/dwarf2expr.c
@@ -334,9 +334,9 @@ signed_address_type (struct gdbarch *gdbarch, int addr_size)
/* Check that the current operator is either at the end of an
expression, or that it is followed by a composition operator. */
-static void
-require_composition (const gdb_byte *op_ptr, const gdb_byte *op_end,
- const char *op_name)
+void
+dwarf_expr_require_composition (const gdb_byte *op_ptr, const gdb_byte *op_end,
+ const char *op_name)
{
/* It seems like DW_OP_GNU_uninit should be handled here. However,
it doesn't seem to make sense for DW_OP_*_value, and it was not
@@ -511,7 +511,7 @@ execute_stack_op (struct dwarf_expr_context *ctx,
case DW_OP_regx:
op_ptr = read_uleb128 (op_ptr, op_end, &reg);
- require_composition (op_ptr, op_end, "DW_OP_regx");
+ dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_regx");
result = reg;
ctx->location = DWARF_VALUE_REGISTER;
@@ -528,13 +528,14 @@ execute_stack_op (struct dwarf_expr_context *ctx,
ctx->data = op_ptr;
ctx->location = DWARF_VALUE_LITERAL;
op_ptr += len;
- require_composition (op_ptr, op_end, "DW_OP_implicit_value");
+ dwarf_expr_require_composition (op_ptr, op_end,
+ "DW_OP_implicit_value");
}
goto no_push;
case DW_OP_stack_value:
ctx->location = DWARF_VALUE_STACK;
- require_composition (op_ptr, op_end, "DW_OP_stack_value");
+ dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_stack_value");
goto no_push;
case DW_OP_breg0: