/* DWARF 2 Expression Evaluator.
- Copyright (C) 2001-2016 Free Software Foundation, Inc.
+ Copyright (C) 2001-2017 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@dberlin.org>.
struct dwarf_expr_context
{
dwarf_expr_context ();
- ~dwarf_expr_context ();
+ virtual ~dwarf_expr_context ();
void push_address (CORE_ADDR value, int in_stack_memory);
void eval (const gdb_byte *addr, size_t len);
/* Return the PC for the frame. */
virtual CORE_ADDR get_frame_pc ()
{
- error (_("%s is invalid in this context"), "DW_OP_GNU_implicit_pointer");
+ error (_("%s is invalid in this context"), "DW_OP_implicit_pointer");
}
/* Return the thread-local storage address for
/* Return the base type given by the indicated DIE. This can throw
an exception if the DIE is invalid or does not represent a base
- type. If can also be NULL in the special case where the
- callbacks are not performing evaluation, and thus it is
- meaningful to substitute a stub type of the correct size. */
- virtual struct type *impl_get_base_type (cu_offset die)
+ type. SIZE is non-zero if this function should verify that the
+ resulting type has the correct size. */
+ virtual struct type *get_base_type (cu_offset die, int size)
{
/* Anything will do. */
return builtin_type (this->gdbarch)->builtin_int;
}
- /* Push on DWARF stack an entry evaluated for DW_TAG_GNU_call_site's
+ /* Push on DWARF stack an entry evaluated for DW_TAG_call_site's
parameter matching KIND and KIND_U at the caller of specified BATON.
- If DEREF_SIZE is not -1 then use DW_AT_GNU_call_site_data_value instead of
- DW_AT_GNU_call_site_value. */
+ If DEREF_SIZE is not -1 then use DW_AT_call_data_value instead of
+ DW_AT_call_value. */
virtual void push_dwarf_reg_entry_value (enum call_site_parameter_kind kind,
union call_site_parameter_u kind_u,
int deref_size) = 0;
void push (struct value *value, int in_stack_memory);
int stack_empty_p () const;
void add_piece (ULONGEST size, ULONGEST offset);
- struct type *get_base_type (cu_offset die, int size);
void execute_stack_op (const gdb_byte *op_ptr, const gdb_byte *op_end);
void pop ();
};
/* Used for DWARF_VALUE_IMPLICIT_POINTER. */
struct
{
- /* The referent DIE from DW_OP_GNU_implicit_pointer. */
+ /* The referent DIE from DW_OP_implicit_pointer. */
sect_offset die;
/* The byte offset into the resulting data. */
LONGEST offset;