Change regcache list to be an hash map
[deliverable/binutils-gdb.git] / gdb / ax-gdb.h
index 056b37db664dbaef6423cd96fc2f5b6d77c82cdc..8a3ec9419e3e95001beea580f19b41def32b68a6 100644 (file)
@@ -1,5 +1,5 @@
 /* GDB-specific functions for operating on agent expressions
-   Copyright (C) 1998, 1999, 2000, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1998-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef AX_GDB_H
 #define AX_GDB_H
 
+#include "ax.h"  /* For agent_expr_up.  */
+
 struct expression;
+union exp_element;
 
 /* Types and enums */
 
@@ -77,9 +80,13 @@ 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
+       the program.  */
+    char optimized_out;
+
     union
       {
        /* if kind == axs_lvalue_register, this is the register number */
@@ -96,6 +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 void require_rvalue (struct agent_expr *ax, struct axs_value *value);
+
+extern agent_expr_up gen_printf (CORE_ADDR, struct gdbarch *,
+                                CORE_ADDR, LONGEST, const char *, int,
+                                int, struct expression **);
 
 #endif /* AX_GDB_H */
This page took 0.024622 seconds and 4 git commands to generate.