X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fax-gdb.h;h=bfca18884f53b1d1d38c9fb0dcbd5f6e855575b9;hb=e418a61a67a3476826259163383e5deb661042cc;hp=4ec21e1de8813181e17c0daa168ba34c583e3074;hpb=400c6af0377b41453355299e9393a52263f4a834;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ax-gdb.h b/gdb/ax-gdb.h index 4ec21e1de8..bfca18884f 100644 --- a/gdb/ax-gdb.h +++ b/gdb/ax-gdb.h @@ -1,6 +1,5 @@ /* GDB-specific functions for operating on agent expressions - Copyright (C) 1998, 1999, 2000, 2007, 2008, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1998-2018 Free Software Foundation, Inc. This file is part of GDB. @@ -20,7 +19,10 @@ #ifndef AX_GDB_H #define AX_GDB_H +#include "ax.h" /* For agent_expr_up. */ + struct expression; +union exp_element; /* Types and enums */ @@ -78,7 +80,7 @@ struct axs_value /* The type of the subexpression. Even if lvalue == axs_lvalue_memory, this is the type of the value itself; the value on the stack is a - "pointer to" an object of this type. */ + "pointer to" an object of this type. */ struct type *type; /* If nonzero, this is a variable which does not actually exist in @@ -101,11 +103,25 @@ struct axs_value record the value of all memory touched by the expression, and leave no values on the stack. The caller can then use the ax_reqs function to discover which registers the expression uses. */ -extern struct agent_expr *gen_trace_for_expr (CORE_ADDR, struct expression *); +extern agent_expr_up gen_trace_for_expr (CORE_ADDR, struct expression *, + int); + +extern agent_expr_up gen_trace_for_var (CORE_ADDR, struct gdbarch *, + struct symbol *, int); + +extern agent_expr_up gen_trace_for_return_address (CORE_ADDR, + struct gdbarch *, + int); + +extern agent_expr_up gen_eval_for_expr (CORE_ADDR, struct expression *); + +extern void gen_expr (struct expression *exp, union exp_element **pc, + struct agent_expr *ax, struct axs_value *value); -extern struct agent_expr *gen_trace_for_var (CORE_ADDR, struct gdbarch *, - struct symbol *); +extern void require_rvalue (struct agent_expr *ax, struct axs_value *value); -extern struct agent_expr *gen_eval_for_expr (CORE_ADDR, struct expression *); +extern agent_expr_up gen_printf (CORE_ADDR, struct gdbarch *, + CORE_ADDR, LONGEST, const char *, int, + int, struct expression **); #endif /* AX_GDB_H */