Fix ARC TLS support.
[deliverable/binutils-gdb.git] / gdb / ax-gdb.h
index 755da45ce2b51a925d8f552f177ee60df9089789..dacacfc9ce578ba79a741efa11cd118e0e6d6b35 100644 (file)
@@ -1,5 +1,5 @@
 /* GDB-specific functions for operating on agent expressions
-   Copyright (C) 1998, 1999, 2000, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1998-2016 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,6 +20,7 @@
 #define AX_GDB_H
 
 struct expression;
+union exp_element;
 
 /* Types and enums */
 
@@ -77,9 +78,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 +101,27 @@ 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 struct agent_expr *gen_trace_for_expr (CORE_ADDR, struct expression *,
+                                             int);
+
+extern struct agent_expr *gen_trace_for_var (CORE_ADDR, struct gdbarch *,
+                                            struct symbol *, int);
+
+extern struct agent_expr *gen_trace_for_return_address (CORE_ADDR,
+                                                       struct gdbarch *,
+                                                       int);
+
+extern struct agent_expr *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);
+
+struct format_piece;
+extern struct agent_expr *gen_printf (CORE_ADDR, struct gdbarch *,
+                                     CORE_ADDR, LONGEST, const char *, int,
+                                     struct format_piece *,
+                                     int, struct expression **);
 
 #endif /* AX_GDB_H */
This page took 0.025044 seconds and 4 git commands to generate.