GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
value Struct Reference

#include "value.h"

Public Member Functions

struct valuecopy () const
 
struct typetype () const
 
void deprecated_set_type (struct type *type)
 
struct gdbarcharch () const
 
LONGEST bitsize () const
 
void set_bitsize (LONGEST bit)
 
LONGEST bitpos () const
 
void set_bitpos (LONGEST bit)
 
valueparent () const
 
void set_parent (struct value *parent)
 
LONGEST offset () const
 
void set_offset (LONGEST offset)
 
bool deprecated_modifiable () const
 
void set_modifiable (bool val)
 
LONGEST pointed_to_offset () const
 
void set_pointed_to_offset (LONGEST val)
 
LONGEST embedded_offset () const
 
void set_embedded_offset (LONGEST val)
 
bool lazy () const
 
void set_lazy (bool val)
 
struct typeenclosing_type () const
 
void set_enclosing_type (struct type *new_type)
 
bool stack () const
 
void set_stack (bool val)
 
const struct lval_funcscomputed_funcs () const
 
void * computed_closure () const
 
enum lval_type lval () const
 
void set_lval (lval_type val)
 
bool initialized () const
 
void set_initialized (bool value)
 
CORE_ADDR address () const
 
CORE_ADDR raw_address () const
 
void set_address (CORE_ADDR)
 
struct internalvar ** deprecated_internalvar_hack ()
 
struct frame_iddeprecated_next_frame_id_hack ()
 
int * deprecated_regnum_hack ()
 
gdb::array_view< gdb_byte > contents_raw ()
 
gdb::array_view< const gdb_byte > contents ()
 
gdb::array_view< const gdb_byte > contents_all ()
 
gdb::array_view< gdb_byte > contents_all_raw ()
 
gdb::array_view< gdb_byte > contents_writeable ()
 
gdb::array_view< const gdb_byte > contents_for_printing ()
 
gdb::array_view< const gdb_byte > contents_for_printing () const
 
void fetch_lazy ()
 
bool contents_eq (LONGEST offset1, const struct value *val2, LONGEST offset2, LONGEST length) const
 
bool contents_eq (const struct value *val2) const
 
bool bits_synthetic_pointer (LONGEST offset, LONGEST length) const
 
void incref ()
 
void decref ()
 
bool bytes_available (LONGEST offset, ULONGEST length) const
 
bool bits_available (LONGEST offset, ULONGEST length) const
 
bool entirely_available ()
 
bool entirely_unavailable ()
 
void mark_bytes_unavailable (LONGEST offset, ULONGEST length)
 
void mark_bits_unavailable (LONGEST offset, ULONGEST length)
 
bool optimized_out ()
 
bool bits_any_optimized_out (int bit_offset, int bit_length) const
 
bool entirely_optimized_out ()
 
void mark_bytes_optimized_out (int offset, int length)
 
void mark_bits_optimized_out (LONGEST offset, LONGEST length)
 
struct valuenon_lval ()
 
void force_lval (CORE_ADDR)
 
void set_component_location (const struct value *whole)
 
struct typeresult_type_of_xmethod (gdb::array_view< value * > argv)
 
struct valuecall_xmethod (gdb::array_view< value * > argv)
 
void preserve (struct objfile *objfile, htab_t copied_types)
 
void unpack_bitfield (struct value *dest_val, LONGEST bitpos, LONGEST bitsize, const gdb_byte *valaddr, LONGEST embedded_offset) const
 
void contents_copy (struct value *dst, LONGEST dst_offset, LONGEST src_offset, LONGEST length)
 
struct valueprimitive_field (LONGEST offset, int fieldno, struct type *arg_type)
 
struct valuefrom_component_bitsize (struct type *type, LONGEST bit_offset, LONGEST bit_length)
 
int record_latest ()
 

Static Public Member Functions

static struct valueallocate_lazy (struct type *type)
 
static struct valueallocate (struct type *type)
 
static struct valueallocate_computed (struct type *type, const struct lval_funcs *funcs, void *closure)
 
static struct valueallocate_optimized_out (struct type *type)
 
static struct valuezero (struct type *type, enum lval_type lv)
 
static struct valuefrom_xmethod (xmethod_worker_up &&worker)
 

Private Member Functions

 value (struct type *type_)
 
 ~value ()
 
 DISABLE_COPY_AND_ASSIGN (value)
 
void fetch_lazy_bitfield ()
 
void fetch_lazy_memory ()
 
void fetch_lazy_register ()
 
bool set_limited_array_length ()
 
void allocate_contents (bool check_size)
 
bool contents_bits_eq (int offset1, const struct value *val2, int offset2, int length) const
 
void require_not_optimized_out () const
 
void require_available () const
 
bool entirely_covered_by_range_vector (const std::vector< range > &ranges)
 
void ranges_copy_adjusted (struct value *dst, int dst_bit_offset, int src_bit_offset, int bit_length) const
 
void contents_copy_raw (struct value *dst, LONGEST dst_offset, LONGEST src_offset, LONGEST length)
 
void contents_copy_raw_bitwise (struct value *dst, LONGEST dst_bit_offset, LONGEST src_bit_offset, LONGEST bit_length)
 

Static Private Member Functions

static struct valueallocate (struct type *type, bool check_size)
 

Private Attributes

enum lval_type m_lval = not_lval
 
bool m_modifiable: 1
 
bool m_lazy: 1
 
bool m_initialized: 1
 
bool m_stack: 1
 
bool m_is_zero: 1
 
bool m_in_history: 1
 
union { 
 
   CORE_ADDR   address 
 
   struct { 
 
      int   regnum 
 
      struct frame_id   next_frame_id 
 
   }   reg 
 
   struct internalvar *   internalvar 
 
   struct xmethod_worker *   xm_worker 
 
   struct { 
 
      const struct lval_funcs *   funcs 
 
      void *   closure 
 
   }   computed 
 
m_location 
 
LONGEST m_offset = 0
 
LONGEST m_bitsize = 0
 
LONGEST m_bitpos = 0
 
int m_reference_count = 1
 
value_ref_ptr m_parent
 
struct typem_type
 
struct typem_enclosing_type
 
LONGEST m_embedded_offset = 0
 
LONGEST m_pointed_to_offset = 0
 
gdb::unique_xmalloc_ptr< gdb_byte > m_contents
 
std::vector< rangem_unavailable
 
std::vector< rangem_optimized_out
 
ULONGEST m_limited_length = 0
 

Detailed Description

Definition at line 129 of file value.h.

Constructor & Destructor Documentation

◆ value()

value::value ( struct type * type_)
inlineexplicitprivate

◆ ~value()

value::~value ( )
private

Definition at line 151 of file value.c.

References lval_funcs::free_closure, funcs, lval(), lval_computed, lval_xcallable, and m_location.

Member Function Documentation

◆ address()

CORE_ADDR value::address ( ) const

◆ allocate() [1/2]

struct value * value::allocate ( struct type * type)
static

Definition at line 957 of file value.c.

References allocate().

Referenced by aarch64_pseudo_read_value(), aarch64_return_value(), ada_convert_actual(), ada_promote_array_of_integrals(), ada_value_primitive_packed_val(), allocate(), allocate_repeat_value(), amd64_pseudo_register_read_value(), amd64_return_value(), amd64_windows_return_value(), arm_return_value(), cast_into_complex(), coerce_unspec_val_to_type(), readable_regcache::cooked_read_value(), create_value(), default_gdbarch_return_value(), default_value_from_register(), dwarf2_compute_name(), dwarf2_evaluate_loc_desc_full(), elf_gnu_ifunc_resolve_addr(), elf_gnu_ifunc_resolver_return_stop(), empty_array(), eval_op_objc_msgcall(), eval_op_rust_array(), eval_op_type(), expr::ada_string_operation::evaluate(), expr::ada_funcall_operation::evaluate(), expr::c_string_operation::evaluate(), expr::opencl_ternop_cond_operation::evaluate(), expr::unop_extract_operation::evaluate(), expr::array_operation::evaluate(), expr::rust_aggregate_operation::evaluate(), evaluate_subexp_do_call(), extract_bitfield_from_watchpoint_value(), dwarf_expr_context::fetch_result(), fixed_point_binop(), fortran_array_shape(), fortran_bounds_all_dims(), from_component_bitsize(), from_xmethod(), get_call_return_value(), i386_pseudo_register_read_value(), i386_return_value(), python_xmethod_worker::invoke(), lval_func_write(), make_array_descriptor(), non_lval(), opencl_logical_not(), ppc_linux_return_value(), primitive_field(), language_defn::read_var_value(), riscv_return_value(), scalar_binop(), sdata_make_value(), siginfo_make_value(), sparc32_return_value(), tlb_make_value(), value_array(), value_cast(), value_cast_to_fixed_point(), value_complement(), value_concat(), value_cstring(), value_field_bitfield(), value_fn_field(), value_from_component(), value_from_contents(), value_from_host_double(), value_from_longest(), value_from_mpz(), value_from_pointer(), value_from_register(), value_from_setting(), value_from_ulongest(), value_literal_complex(), value_maybe_namespace_elt(), value_neg(), value_of_builtin_frame_fp_reg(), value_of_builtin_frame_pc_reg(), value_of_internalvar(), value_one(), value_slice(), value_string(), value_struct_elt_for_reference(), expr::fortran_undetermined::value_subarray(), value_subscript(), value_vector_widen(), vector_binop(), and vector_relop().

◆ allocate() [2/2]

struct value * value::allocate ( struct type * type,
bool check_size )
staticprivate

Definition at line 945 of file value.c.

References allocate_contents(), allocate_lazy(), and m_lazy.

◆ allocate_computed()

struct value * value::allocate_computed ( struct type * type,
const struct lval_funcs * funcs,
void * closure )
static

◆ allocate_contents()

void value::allocate_contents ( bool check_size)
private

◆ allocate_lazy()

struct value * value::allocate_lazy ( struct type * type)
static

◆ allocate_optimized_out()

struct value * value::allocate_optimized_out ( struct type * type)
static

◆ arch()

struct gdbarch * value::arch ( ) const

◆ bitpos()

LONGEST value::bitpos ( ) const
inline

◆ bits_any_optimized_out()

bool value::bits_any_optimized_out ( int bit_offset,
int bit_length ) const

◆ bits_available()

bool value::bits_available ( LONGEST offset,
ULONGEST length ) const

◆ bits_synthetic_pointer()

bool value::bits_synthetic_pointer ( LONGEST offset,
LONGEST length ) const

◆ bitsize()

LONGEST value::bitsize ( ) const
inline

◆ bytes_available()

bool value::bytes_available ( LONGEST offset,
ULONGEST length ) const

◆ call_xmethod()

struct value * value::call_xmethod ( gdb::array_view< value * > argv)

Definition at line 2540 of file value.c.

References code, lval_xcallable, m_location, and m_lval.

Referenced by evaluate_subexp_do_call().

◆ computed_closure()

void * value::computed_closure ( ) const

◆ computed_funcs()

const struct lval_funcs * value::computed_funcs ( ) const

Definition at line 1349 of file value.c.

References lval_computed, m_location, and m_lval.

Referenced by coerce_ref_if_computed(), fetch_lazy(), value_assign(), and value_ind().

◆ contents()

gdb::array_view< const gdb_byte > value::contents ( )

Definition at line 1262 of file value.c.

References contents_writeable(), require_available(), and require_not_optimized_out().

Referenced by aarch64_push_dummy_call(), ada_convert_actual(), ada_to_fixed_value_create(), ada_value_assign(), ada_value_equal(), ada_value_primitive_field(), ada_value_primitive_packed_val(), alpha_push_dummy_call(), amd64_push_arguments(), amd64_windows_push_arguments(), amd64_windows_store_arg_in_reg(), avr_push_dummy_call(), BP_MANIPULATION(), c_get_string(), cast_into_complex(), coerce_ref(), create_value(), dump_value_to_file(), ensure_lval(), eval_op_f_abs(), eval_op_f_mod(), eval_op_f_modulo(), expr::array_operation::evaluate(), expr::rust_struct_anon::evaluate(), expr::rust_structop::evaluate(), expr::array_operation::evaluate_struct_tuple(), dwarf_expr_context::fetch_address(), fetch_lazy_register(), fixed_point_binop(), fortran_argument_convert(), fortran_ceil_operation(), fortran_floor_operation(), frame_unwind_register_value(), frv_push_dummy_call(), gdbscm_value_to_bytevector(), gdbscm_value_to_real(), gnuv3_method_ptr_to_value(), hppa32_push_dummy_call(), hppa64_push_dummy_call(), i387_print_float_info(), ia64_push_dummy_call(), indirect_pieced_value(), is_floating_value(), loongarch_push_dummy_call(), lval_func_read(), lval_func_write(), m32c_push_dummy_call(), mips_eabi_push_dummy_call(), mips_n32n64_push_dummy_call(), mips_o32_push_dummy_call(), mips_o64_push_dummy_call(), nios2_push_dummy_call(), or1k_push_dummy_call(), parse_find_args(), pass_in_v_vfp_candidate(), pass_in_x(), pass_on_stack(), ppc64_sysv_abi_push_dummy_call(), ppc_sysv_abi_push_dummy_call(), primitive_field(), printf_c_string(), printf_floating(), printf_wide_c_string(), pyuw_sniffer(), read_frame_register_unsigned(), riscv_push_dummy_call(), riscv_return_value(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), rw_pieced_value(), s390_handle_arg(), set_internalvar_component(), sh_justify_value_in_reg(), store_regs(), tic6x_push_dummy_call(), valpy_float(), value_args_as_target_float(), value_as_address(), value_as_long(), value_as_mpz(), value_as_string(), value_assign(), value_assign_to_component(), value_cast(), value_coerce_to_target(), value_concat(), value_equal(), value_equal_contents(), value_from_contents(), value_literal_complex(), value_logical_not(), value_pos(), value_strcmp(), expr::fortran_undetermined::value_subarray(), value_to_gdb_mpq(), and xtensa_push_dummy_call().

◆ contents_all()

gdb::array_view< const gdb_byte > value::contents_all ( )

◆ contents_all_raw()

gdb::array_view< gdb_byte > value::contents_all_raw ( )

◆ contents_bits_eq()

bool value::contents_bits_eq ( int offset1,
const struct value * val2,
int offset2,
int length ) const
private

◆ contents_copy()

void value::contents_copy ( struct value * dst,
LONGEST dst_offset,
LONGEST src_offset,
LONGEST length )

◆ contents_copy_raw()

void value::contents_copy_raw ( struct value * dst,
LONGEST dst_offset,
LONGEST src_offset,
LONGEST length )
private

◆ contents_copy_raw_bitwise()

void value::contents_copy_raw_bitwise ( struct value * dst,
LONGEST dst_bit_offset,
LONGEST src_bit_offset,
LONGEST bit_length )
private

◆ contents_eq() [1/2]

bool value::contents_eq ( const struct value * val2) const

Definition at line 705 of file value.c.

References check_typedef(), contents_eq(), enclosing_type(), and type::length().

◆ contents_eq() [2/2]

bool value::contents_eq ( LONGEST offset1,
const struct value * val2,
LONGEST offset2,
LONGEST length ) const

◆ contents_for_printing() [1/2]

gdb::array_view< const gdb_byte > value::contents_for_printing ( )

◆ contents_for_printing() [2/2]

gdb::array_view< const gdb_byte > value::contents_for_printing ( ) const

Definition at line 1110 of file value.c.

References enclosing_type(), type::length(), m_contents, and m_lazy.

◆ contents_raw()

gdb::array_view< gdb_byte > value::contents_raw ( )

◆ contents_writeable()

gdb::array_view< gdb_byte > value::contents_writeable ( )

◆ copy()

struct value * value::copy ( ) const

◆ decref()

void value::decref ( )

◆ deprecated_internalvar_hack()

struct internalvar ** value::deprecated_internalvar_hack ( )
inline

Definition at line 361 of file value.h.

References internalvar::internalvar(), and m_location.

◆ deprecated_modifiable()

bool value::deprecated_modifiable ( ) const
inline

◆ deprecated_next_frame_id_hack()

struct frame_id * value::deprecated_next_frame_id_hack ( )

Definition at line 1396 of file value.c.

References lval_register, m_location, and m_lval.

◆ deprecated_regnum_hack()

int * value::deprecated_regnum_hack ( )

Definition at line 1403 of file value.c.

References lval_register, m_location, and m_lval.

◆ deprecated_set_type()

void value::deprecated_set_type ( struct type * type)
inline

◆ DISABLE_COPY_AND_ASSIGN()

value::DISABLE_COPY_AND_ASSIGN ( value )
private

◆ embedded_offset()

LONGEST value::embedded_offset ( ) const
inline

◆ enclosing_type()

struct type * value::enclosing_type ( ) const
inline

◆ entirely_available()

bool value::entirely_available ( )

◆ entirely_covered_by_range_vector()

bool value::entirely_covered_by_range_vector ( const std::vector< range > & ranges)
private

Definition at line 224 of file value.c.

References enclosing_type(), fetch_lazy(), range::length, m_lazy, and range::offset.

Referenced by entirely_optimized_out(), and entirely_unavailable().

◆ entirely_optimized_out()

bool value::entirely_optimized_out ( )
inline

◆ entirely_unavailable()

bool value::entirely_unavailable ( )
inline

◆ fetch_lazy()

void value::fetch_lazy ( )

◆ fetch_lazy_bitfield()

void value::fetch_lazy_bitfield ( )
private

Definition at line 3834 of file value.c.

References bitpos(), bitsize(), contents_for_printing(), fetch_lazy(), lazy(), offset(), parent(), and unpack_bitfield().

Referenced by fetch_lazy().

◆ fetch_lazy_memory()

void value::fetch_lazy_memory ( )
private

◆ fetch_lazy_register()

void value::fetch_lazy_register ( )
private

◆ force_lval()

void value::force_lval ( CORE_ADDR addr)

Definition at line 1589 of file value.c.

References contents_raw(), lval(), lval_memory, m_location, m_lval, not_lval, and write_memory().

Referenced by get_call_return_value().

◆ from_component_bitsize()

struct value * value::from_component_bitsize ( struct type * type,
LONGEST bit_offset,
LONGEST bit_length )

◆ from_xmethod()

struct value * value::from_xmethod ( xmethod_worker_up && worker)
static

Definition at line 2514 of file value.c.

References allocate(), lval_xcallable, m_location, m_lval, m_modifiable, target_gdbarch(), and xm_worker.

Referenced by find_overload_match().

◆ incref()

void value::incref ( )
inline

◆ initialized()

bool value::initialized ( ) const
inline

◆ lazy()

bool value::lazy ( ) const
inline

◆ lval()

enum lval_type value::lval ( ) const
inline

Definition at line 332 of file value.h.

References m_lval.

Referenced by ada_convert_actual(), ada_ternop_slice(), ada_to_fixed_value_create(), ada_value_assign(), ada_value_primitive_packed_val(), address_of_variable(), c_get_string(), can_use_hardware_watchpoint(), ppc_linux_nat_target::check_condition(), coerce_ref_if_computed(), coerce_unspec_val_to_type(), convert_one_symbol(), convert_one_symbol(), copy(), create_value(), do_compile_dwarf_expr_to_c(), dump_value_to_file(), dwarf2_locexpr_baton_eval(), ensure_lval(), eval_op_m2_subscript(), eval_op_structop_ptr(), eval_op_structop_struct(), eval_op_subscript(), eval_opencl_assign(), expr::ada_funcall_operation::evaluate(), expr::ada_assign_operation::evaluate(), expr::opencl_structop_operation::evaluate(), expr::fortran_structop_operation::evaluate(), expr::rust_structop::evaluate(), expr::ada_var_value_operation::evaluate_for_cast(), expr::ada_var_msym_value_operation::evaluate_for_cast(), expr::var_value_operation::evaluate_for_cast(), expr::var_msym_value_operation::evaluate_for_cast(), evaluate_subexp_for_address_base(), execute_stack_op(), fetch_lazy(), fetch_lazy_register(), find_function_addr(), force_lval(), fortran_argument_convert(), frame_register_unwind(), frame_unwind_register(), frame_unwind_register_value(), get_value_addr_contents(), gnuv3_get_typeid(), info_frame_command_core(), call_site_target::iterate_over_addresses(), non_lval(), ppc_linux_nat_target::num_memory_accesses(), optimized_out(), primitive_field(), print_formatted(), printf_c_string(), printf_wide_c_string(), rank_one_type(), read_frame_register_value(), rust_subscript(), set_component_location(), set_internalvar(), unwind_infopy_add_saved_register(), update_watchpoint(), val_print_optimized_out(), valprint_check_validity(), value_addr(), value_assign(), value_cast(), value_coerce_array(), value_coerce_function(), value_from_component(), value_full_object(), value_ind(), value_internal_function_name(), value_must_coerce_to_target(), value_of_internalvar(), value_one(), value_ptradd(), value_repeat(), value_slice(), expr::fortran_undetermined::value_subarray(), value_subscript(), value_subscripted_rvalue(), value_x_binop(), value_x_unop(), x_command(), and ~value().

◆ mark_bits_optimized_out()

void value::mark_bits_optimized_out ( LONGEST offset,
LONGEST length )

Definition at line 1333 of file value.c.

References insert_into_bit_range_vector(), m_optimized_out, and offset().

Referenced by mark_bytes_optimized_out(), and rw_pieced_value().

◆ mark_bits_unavailable()

void value::mark_bits_unavailable ( LONGEST offset,
ULONGEST length )

◆ mark_bytes_optimized_out()

void value::mark_bytes_optimized_out ( int offset,
int length )

Definition at line 1324 of file value.c.

References mark_bits_optimized_out(), and offset().

Referenced by allocate_optimized_out(), and value_from_register().

◆ mark_bytes_unavailable()

void value::mark_bytes_unavailable ( LONGEST offset,
ULONGEST length )

◆ non_lval()

struct value * value::non_lval ( )

◆ offset()

LONGEST value::offset ( ) const
inline

◆ optimized_out()

bool value::optimized_out ( )

◆ parent()

value * value::parent ( ) const
inline

◆ pointed_to_offset()

LONGEST value::pointed_to_offset ( ) const
inline

Definition at line 238 of file value.h.

References m_pointed_to_offset.

Referenced by non_lval(), readjust_indirect_value_type(), value_assign(), and value_ind().

◆ preserve()

void value::preserve ( struct objfile * objfile,
htab_t copied_types )

◆ primitive_field()

struct value * value::primitive_field ( LONGEST offset,
int fieldno,
struct type * arg_type )

◆ ranges_copy_adjusted()

void value::ranges_copy_adjusted ( struct value * dst,
int dst_bit_offset,
int src_bit_offset,
int bit_length ) const
private

◆ raw_address()

CORE_ADDR value::raw_address ( ) const

Definition at line 1381 of file value.c.

References lval_memory, m_location, and m_lval.

◆ record_latest()

int value::record_latest ( )

◆ require_available()

void value::require_available ( ) const
private

Definition at line 1093 of file value.c.

References m_unavailable.

Referenced by contents(), and contents_all().

◆ require_not_optimized_out()

void value::require_not_optimized_out ( ) const
private

Definition at line 1080 of file value.c.

References error_value_optimized_out(), lval_register, m_lval, and m_optimized_out.

Referenced by contents(), and contents_all().

◆ result_type_of_xmethod()

struct type * value::result_type_of_xmethod ( gdb::array_view< value * > argv)

Definition at line 2529 of file value.c.

References code, lval_xcallable, m_location, and m_lval.

Referenced by evaluate_subexp_do_call().

◆ set_address()

void value::set_address ( CORE_ADDR addr)

◆ set_bitpos()

void value::set_bitpos ( LONGEST bit)
inline

Definition at line 205 of file value.h.

References bit, and m_bitpos.

Referenced by ada_value_primitive_packed_val(), coerce_unspec_val_to_type(), and primitive_field().

◆ set_bitsize()

void value::set_bitsize ( LONGEST bit)
inline

Definition at line 196 of file value.h.

References bit, and m_bitsize.

Referenced by ada_value_primitive_packed_val(), coerce_unspec_val_to_type(), and primitive_field().

◆ set_component_location()

void value::set_component_location ( const struct value * whole)

◆ set_embedded_offset()

void value::set_embedded_offset ( LONGEST val)
inline

◆ set_enclosing_type()

void value::set_enclosing_type ( struct type * new_type)

◆ set_initialized()

void value::set_initialized ( bool value)
inline

Definition at line 345 of file value.h.

References m_initialized, and value.

Referenced by dwarf_expr_context::fetch_result().

◆ set_lazy()

void value::set_lazy ( bool val)
inline

◆ set_limited_array_length()

bool value::set_limited_array_length ( )
private

◆ set_lval()

void value::set_lval ( lval_type val)
inline

◆ set_modifiable()

void value::set_modifiable ( bool val)
inline

Definition at line 235 of file value.h.

References m_modifiable.

Referenced by record_latest(), and set_internalvar().

◆ set_offset()

void value::set_offset ( LONGEST offset)
inline

◆ set_parent()

void value::set_parent ( struct value * parent)
inline

Definition at line 214 of file value.h.

References m_parent, and parent().

Referenced by ada_value_primitive_packed_val(), and primitive_field().

◆ set_pointed_to_offset()

void value::set_pointed_to_offset ( LONGEST val)
inline

Definition at line 241 of file value.h.

References m_pointed_to_offset.

Referenced by non_lval(), value_addr(), value_assign(), value_cast(), and value_cast_pointers().

◆ set_stack()

void value::set_stack ( bool val)
inline

Definition at line 320 of file value.h.

References m_stack.

Referenced by dwarf_expr_context::fetch_result(), and frame_unwind_got_memory().

◆ stack()

bool value::stack ( ) const
inline

Definition at line 317 of file value.h.

References m_stack.

Referenced by fetch_lazy_memory(), value_repeat(), and varobj_update().

◆ type()

struct type * value::type ( ) const
inline

Definition at line 180 of file value.h.

References m_type.

Referenced by aarch64_gen_return_address(), aarch64_pseudo_read_value_1(), aarch64_push_dummy_call(), ada_abs(), ada_array_bound(), ada_array_length(), ada_atr_enum_rep(), ada_atr_enum_val(), ada_atr_size(), ada_binop_exp(), ada_binop_in_bounds(), ada_binop_minmax(), ada_coerce_ref(), ada_coerce_to_simple_array(), ada_coerce_to_simple_array_ptr(), ada_convert_actual(), ada_exception_message_1(), ada_funcall(), ada_get_decoded_value(), ada_mult_binop(), ada_promote_array_of_integrals(), ada_tag_name(), ada_tag_type(), ada_tag_value_at_base_address(), ada_template_to_fixed_record_type_1(), ada_ternop_slice(), ada_to_fixed_type_1(), ada_to_fixed_value(), ada_type_of_array(), ada_unop_atr(), ada_val_atr(), ada_val_print_enum(), ada_val_print_ref(), ada_value_assign(), ada_value_binop(), ada_value_cast(), ada_value_equal(), ada_value_ind(), ada_value_of_child(), ada_value_print(), ada_value_print_array(), ada_value_print_inner(), ada_value_print_num(), ada_value_print_ptr(), ada_value_slice(), ada_value_struct_elt(), ada_value_subscript(), ada_varobj_ind(), ada_varobj_simple_array_elt(), ada_varobj_struct_elt(), address_of_variable(), alpha_push_dummy_call(), amd64_gen_return_address(), amd64_pseudo_register_read_value(), amd64_push_arguments(), amd64_windows_push_arguments(), amd64_windows_store_arg_in_reg(), arch(), arm_push_dummy_call(), arm_return_value(), expr::ada_name_association::assign(), expr::ada_aggregate_operation::assign_aggregate(), expr::assign_component(), avr_push_dummy_call(), binop_user_defined_p(), BP_MANIPULATION(), c_get_string(), c_value_print(), c_value_print_array(), c_value_print_inner(), c_value_print_int(), c_value_print_ptr(), c_value_print_struct(), call_function_by_hand_dummy(), can_use_hardware_watchpoint(), cast_into_complex(), ppc_linux_nat_target::check_condition(), cimag_internal_fn(), coerce_array(), coerce_for_assign(), coerce_pieced_ref(), coerce_ref(), coerce_ref_if_computed(), coerce_unspec_val_to_type(), common_val_print(), compile_probe_arg(), dtrace_probe::compile_to_ax(), stap_probe::compile_to_ax(), expr::structop_base_operation::complete(), complex_binop(), compute_vtable_size(), contents_raw(), readable_regcache::cooked_read_value(), fortran_array_repacker_base_impl::copy_element_to_dest(), cp_print_value(), cp_print_value_fields(), creal_internal_fn(), create_value(), d_value_print_inner(), decode_constrained_packed_array(), default_print_one_register_info(), deprecated_set_type(), desc_bounds(), desc_data(), expr::ada_wrapped_operation::do_generate_ax(), expr::var_value_operation::do_generate_ax(), expr::var_msym_value_operation::do_generate_ax(), expr::register_operation::do_generate_ax(), expr::internalvar_operation::do_generate_ax(), expr::ternop_cond_operation::do_generate_ax(), expr::repeat_operation::do_generate_ax(), expr::unop_sizeof_operation::do_generate_ax(), expr::unop_memval_operation::do_generate_ax(), expr::unop_memval_type_operation::do_generate_ax(), expr::unop_cast_type_operation::do_generate_ax(), expr::logical_and_operation::do_generate_ax(), expr::logical_or_operation::do_generate_ax(), python_xmethod_worker::do_get_result_type(), dump_value_to_file(), dynamic_array_type(), ensure_lval(), entry_data_value_coerce_ref(), eval_binop_assign_modify(), eval_multi_subscript(), eval_op_add(), eval_op_alignof(), eval_op_binary(), eval_op_f_abs(), eval_op_f_allocated(), eval_op_f_cmplx(), eval_op_f_cmplx(), eval_op_f_cmplx(), eval_op_f_kind(), eval_op_f_mod(), eval_op_f_modulo(), eval_op_f_rank(), eval_op_ind(), eval_op_m2_high(), eval_op_m2_subscript(), eval_op_member(), eval_op_objc_msgcall(), eval_op_postdec(), eval_op_postinc(), eval_op_predec(), eval_op_preinc(), eval_op_repeat(), eval_op_rust_array(), eval_op_rust_complement(), eval_op_structop_ptr(), eval_op_structop_struct(), eval_op_sub(), eval_op_subscript(), eval_op_var_msym_value(), eval_opencl_assign(), expr::ada_binop_addsub_operation::evaluate(), expr::ada_binop_equal_operation::evaluate(), expr::ada_bitwise_operation< OP >::evaluate(), expr::ada_unop_atr_operation::evaluate(), expr::ada_unop_ind_operation::evaluate(), expr::ada_structop_operation::evaluate(), expr::ada_funcall_operation::evaluate(), expr::ada_assign_operation::evaluate(), expr::ada_concat_operation::evaluate(), expr::opencl_binop_operation< OP, FUNC, BASE >::evaluate(), expr::opencl_structop_operation::evaluate(), expr::opencl_logical_binop_operation::evaluate(), expr::opencl_ternop_cond_operation::evaluate(), expr::comparison_operation< OP, FUNC >::evaluate(), expr::unop_extract_operation::evaluate(), expr::array_operation::evaluate(), expr::fortran_undetermined::evaluate(), expr::fortran_bound_1arg::evaluate(), expr::fortran_bound_2arg::evaluate(), expr::fortran_structop_operation::evaluate(), expr::rust_struct_anon::evaluate(), expr::rust_structop::evaluate(), expr::fortran_bound_3arg::evaluate(), expr::var_msym_value_operation::evaluate_for_address(), expr::unop_memval_type_operation::evaluate_for_address(), expr::operation::evaluate_for_sizeof(), expr::var_value_operation::evaluate_for_sizeof(), expr::var_msym_value_operation::evaluate_for_sizeof(), expr::subscript_operation::evaluate_for_sizeof(), expr::unop_ind_base_operation::evaluate_for_sizeof(), expr::unop_memval_type_operation::evaluate_for_sizeof(), expr::operation::evaluate_funcall(), expr::structop_base_operation::evaluate_funcall(), expr::structop_member_base::evaluate_funcall(), expr::array_operation::evaluate_struct_tuple(), evaluate_subexp_do_call(), evaluate_subexp_for_address_base(), dwarf_expr_context::execute_stack_op(), extract_bitfield_from_watchpoint_value(), dwarf_expr_context::fetch_address(), dwarf_expr_context::fetch_result(), find_function_addr(), find_overload_match(), fixed_point_binop(), fortran_argument_convert(), fortran_array_shape(), fortran_array_size(), fortran_associated(), fortran_bounds_all_dims(), fortran_bounds_for_dimension(), fortran_ceil_operation(), fortran_floor_operation(), fortran_preserve_arg_pointer(), frame_register_unwind(), frv_push_dummy_call(), gdbpy_apply_val_pretty_printer(), gdbpy_convenience_variable(), gdbscm_apply_val_pretty_printer(), gdbscm_value_call(), gdbscm_value_dynamic_type(), gdbscm_value_referenced_value(), gdbscm_value_subscript(), gdbscm_value_to_bool(), gdbscm_value_to_bytevector(), gdbscm_value_to_integer(), gdbscm_value_to_lazy_string(), gdbscm_value_to_real(), gdbscm_value_type(), gen_address_of(), gen_binop(), gen_bitfield_ref(), gen_cast(), gen_complement(), gen_deref(), gen_equal(), gen_expr_unop(), gen_int_literal(), gen_integral_promotions(), gen_less(), gen_logical_not(), gen_msym_var_ref(), gen_primitive_field(), gen_ptradd(), gen_ptrdiff(), gen_ptrsub(), gen_static_field(), gen_struct_ref(), gen_trace_static_fields(), gen_traced_pop(), gen_usual_unary(), gen_var_ref(), expr::operation::generate_ax(), generic_val_print_array(), generic_val_print_fixed_point(), generic_value_print(), generic_value_print_bool(), generic_value_print_char(), generic_value_print_memberptr(), generic_value_print_ptr(), get_number_trailer(), get_return_value(), get_ulongest(), gnuv2_value_rtti_type(), gnuv2_virtual_fn_field(), gnuv3_get_type_from_type_info(), gnuv3_get_typeid(), gnuv3_get_typename_from_type_info(), gnuv3_get_virtual_fn(), gnuv3_method_ptr_to_value(), gnuv3_print_vtable(), gnuv3_rtti_type(), hppa32_push_dummy_call(), hppa64_push_dummy_call(), i386_gen_return_address(), i386_pseudo_register_read_into_value(), i386_windows_push_dummy_call(), ia64_push_dummy_call(), indirect_pieced_value(), info_mach_region_command(), infpy_thread_from_thread_handle(), python_xmethod_worker::invoke(), is_floating_value(), is_unique_ancestor(), linespec_parse_variable(), list_arg_or_local(), loongarch_push_dummy_call(), lval_func_check_synthetic_pointer(), lval_func_read(), lval_func_write(), m2_print_array_contents(), m2_print_unbounded_array(), m32c_push_dummy_call(), maintenance_print_type(), make_array_descriptor(), make_cv_value(), mips_eabi_push_dummy_call(), mips_n32n64_push_dummy_call(), mips_o32_push_dummy_call(), mips_o64_push_dummy_call(), msp430_push_dummy_call(), nds32_push_dummy_call(), nios2_push_dummy_call(), expr::unop_cast_type_operation::opcode(), opencl_component_ref(), opencl_logical_not(), opencl_relop(), opencl_value_cast(), or1k_push_dummy_call(), output_command(), parse_find_args(), parse_string_or_char(), parse_string_or_char(), parse_string_or_char(), pascal_object_print_static_field(), pascal_object_print_value(), pascal_object_print_value_fields(), pos_atr(), ppc64_sysv_abi_push_dummy_call(), ppc64_sysv_abi_return_value(), ppc_sysv_abi_broken_return_value(), ppc_sysv_abi_push_dummy_call(), ppc_sysv_abi_return_value(), primitive_field(), print_command_1(), rust_language::print_enum(), print_field_values(), print_formatted(), print_frame_arg(), print_one_vtable(), print_value(), print_variable_or_computed(), print_variant_part(), printf_c_string(), printf_floating(), printf_wide_c_string(), py_print_single_arg(), py_print_type(), py_print_value(), pyuw_sniffer(), rank_one_type_parm_ptr(), read_atcb(), read_fat_string_value(), read_frame_arg(), read_frame_register_value(), require_rvalue(), expr::ada_ternop_slice_operation::resolve(), riscv_print_one_register_info(), riscv_push_dummy_call(), riscv_return_value(), rs6000_gen_return_address(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), rust_get_trait_object_pointer(), rust_range(), rust_slice_to_array(), rust_subscript(), rust_val_print_slice(), rw_pieced_value(), rx_push_dummy_call(), s390_gen_return_address(), s390_handle_arg(), s390_push_dummy_call(), scalar_binop(), scan_discrim_bound(), struct_field_searcher::search(), set_component_location(), set_internalvar(), set_internalvar_component(), set_limited_array_length(), sh_push_dummy_call_fpu(), sh_push_dummy_call_nofpu(), sh_return_value_fpu(), sh_return_value_nofpu(), shell_internal_fn(), should_validate_memtags(), siginfo_value_read(), siginfo_value_write(), thin_data_pntr(), tic6x_push_dummy_call(), tlb_value_read(), to_fixed_variant_branch_type(), to_record_with_fixed_variant_part(), unop_user_defined_p(), unpack_bitfield(), unwind_infopy_add_saved_register(), unwrap_value(), val_print_packed_array_elements(), rust_language::val_print_struct(), valpy_absolute(), valpy_binop_throw(), valpy_call(), valpy_float(), valpy_get_dynamic_type(), valpy_get_type(), valpy_getitem(), valpy_lazy_string(), valpy_long(), valpy_referenced_value(), valpy_to_array(), value_actual_type(), value_addr(), value_arg_coerce(), value_args_as_target_float(), value_as_address(), value_as_long(), value_as_mpz(), value_assign(), value_assign_to_component(), value_binop(), value_cast(), value_cast_pointers(), value_cast_structs(), value_cast_to_fixed_point(), value_check_printable(), value_coerce_array(), value_coerce_function(), value_coerce_to_target(), value_complement(), value_concat(), value_dynamic_cast(), value_equal(), value_equal_contents(), value_field(), value_from_host_double(), value_full_object(), value_has_field(), value_imaginary_part(), value_ind(), value_less(), value_logical_not(), value_must_coerce_to_target(), value_neg(), value_of_root(), value_pos(), pascal_language::value_print(), rust_language::value_print(), value_print_array_elements(), f_language::value_print_inner(), go_language::value_print_inner(), m2_language::value_print_inner(), pascal_language::value_print_inner(), rust_language::value_print_inner(), value_print_scalar_formatted(), value_ptradd(), value_ptrdiff(), value_real_part(), value_ref(), value_reinterpret_cast(), value_rtti_indirect_type(), value_rtti_type(), value_slice(), value_strcmp(), ada_language::value_string(), value_struct_element_index(), value_struct_elt_for_reference(), expr::fortran_undetermined::value_subarray(), value_subscript(), value_subscript_packed(), value_subscripted_rvalue(), value_to_array(), value_to_gdb_mpq(), value_vector_widen(), value_x_binop(), value_x_unop(), varobj_create(), varobj_update(), varobj_value_get_print_value(), vector_binop(), vector_relop(), vlscm_binop_gdbthrow(), vlscm_unop_gdbthrow(), whatis_exp(), x_command(), xtensa_push_dummy_call(), and yyparse().

◆ unpack_bitfield()

void value::unpack_bitfield ( struct value * dest_val,
LONGEST bitpos,
LONGEST bitsize,
const gdb_byte * valaddr,
LONGEST embedded_offset ) const

◆ zero()

struct value * value::zero ( struct type * type,
enum lval_type lv )
static

Definition at line 3426 of file value.c.

References allocate_lazy(), lval_computed, m_is_zero, not_lval, and set_lval().

Referenced by ada_abs(), ada_atr_enum_rep(), ada_atr_enum_val(), ada_atr_size(), ada_atr_tag(), ada_binop_exp(), ada_binop_in_bounds(), ada_binop_minmax(), ada_mult_binop(), ada_pos_atr(), ada_unop_atr(), ada_val_atr(), cast_into_complex(), complex_binop(), convert_value_from_python(), create_value(), dummy_frame_prev_register(), eval_op_f_cmplx(), eval_op_ind(), eval_op_m2_subscript(), eval_op_member(), eval_op_memval(), eval_op_register(), eval_op_structop_ptr(), eval_op_structop_struct(), eval_op_subscript(), eval_op_var_entry_value(), expr::ada_var_value_operation::evaluate(), expr::ada_unop_ind_operation::evaluate(), expr::ada_structop_operation::evaluate(), expr::ada_funcall_operation::evaluate(), expr::opencl_structop_operation::evaluate(), expr::fortran_structop_operation::evaluate(), expr::rust_structop::evaluate(), expr::var_value_operation::evaluate_for_address(), expr::var_msym_value_operation::evaluate_for_address(), expr::ada_var_msym_value_operation::evaluate_for_cast(), expr::var_msym_value_operation::evaluate_for_cast(), expr::var_value_operation::evaluate_for_sizeof(), expr::scope_operation::evaluate_funcall(), expr::structop_member_base::evaluate_funcall(), expr::rust_structop::evaluate_funcall(), evaluate_subexp_do_call(), evaluate_subexp_for_address_base(), evaluate_var_msym_value(), evaluate_var_value(), dwarf_expr_context::execute_stack_op(), frame_unwind_got_address(), frame_unwind_got_bytes(), frame_unwind_got_constant(), rust_range(), rust_subscript(), valpy_absolute(), value_cast(), value_cast_structs(), value_dynamic_cast(), value_neg(), value_x_binop(), value_x_unop(), and vlscm_unop_gdbthrow().

Member Data Documentation

◆ address

CORE_ADDR value::address

Definition at line 658 of file value.h.

Referenced by aarch64_linux_create_memtag_section(), aarch64_linux_decode_memtag_section(), aarch64_linux_fill_memtag_section(), aarch64_linux_get_memtag(), ada_exception_message_1(), ada_tag_value_at_base_address(), ada_to_fixed_type_1(), ada_to_fixed_value(), ada_value_assign(), ada_value_primitive_packed_val(), ada_value_print_inner(), ada_value_struct_elt(), address_of_variable(), c_get_string(), c_value_print_array(), call_function_by_hand_dummy(), can_use_hardware_watchpoint(), ppc_linux_nat_target::check_condition(), coerce_unspec_val_to_type(), compare_value_and_voffset(), cond_offset_target(), convert_one_symbol(), convert_one_symbol(), cp_print_static_field(), cp_print_value(), d_value_print_inner(), decode_constrained_packed_array(), desc_bounds(), do_compile_dwarf_expr_to_c(), dump_arc_instruction_command(), dump_value_to_file(), dwarf2_locexpr_baton_eval(), elf_gnu_ifunc_resolve_addr(), encode_actions_1(), eq_value_and_voffset(), eval_op_f_loc(), eval_op_func_static_var(), expr::fortran_structop_operation::evaluate(), expr::rust_struct_anon::evaluate(), expr::rust_structop::evaluate(), expr::structop_base_operation::evaluate_funcall(), evaluate_subexp_do_call(), execute_stack_op(), fetch_lazy_memory(), fetch_lazy_register(), find_function_addr(), fortran_associated(), frame_register_unwind(), frame_unwind_register_value(), frv_push_dummy_call(), gdbarch_frame_align(), gdbarch_get_memtag(), gdbarch_memtag_matches_p(), gdbarch_set_memtags(), gdbarch_tagged_address_p(), gdbscm_make_lazy_value(), gdbscm_value_address(), gdbscm_value_to_lazy_string(), generic_val_print_array(), generic_val_print_ref(), generic_value_print(), gnuv3_get_typeid(), gnuv3_rtti_type(), hash_value_and_voffset(), info_frame_command_core(), info_mach_region_command(), is_unique_ancestor(), call_site_target::iterate_over_addresses(), locexpr_get_frame_base(), loclist_get_frame_base(), m2_print_array_contents(), mips_eabi_push_dummy_call(), msp430_push_dummy_call(), or1k_push_dummy_call(), pascal_object_print_static_field(), pascal_object_print_value(), primitive_field(), rust_language::print_enum(), print_formatted(), print_one_vtable(), read_fat_string_value(), struct_field_searcher::search(), search_struct_method(), thin_data_pntr(), unwrap_value(), valpy_lazy_string(), value_addr(), value_as_address(), value_assign(), value_assign_to_component(), value_cast(), value_cast_structs(), value_coerce_array(), value_coerce_function(), value_dynamic_cast(), value_from_contents_and_address(), value_from_contents_and_address_unresolved(), value_full_object(), value_pointer(), f_language::value_print_inner(), go_language::value_print_inner(), m2_language::value_print_inner(), pascal_language::value_print_inner(), value_repeat(), value_struct_elt_for_reference(), expr::fortran_undetermined::value_subarray(), value_subscript(), value_subscripted_rvalue(), and x_command().

◆ closure

void* value::closure

Definition at line 686 of file value.h.

Referenced by allocate_computed(), and copy().

◆ [struct]

struct { ... } value::computed

◆ funcs

const struct lval_funcs* value::funcs

◆ internalvar

struct internalvar* value::internalvar

Definition at line 672 of file value.h.

◆ m_bitpos

LONGEST value::m_bitpos = 0
private

Definition at line 701 of file value.h.

Referenced by bitpos(), copy(), and set_bitpos().

◆ m_bitsize

LONGEST value::m_bitsize = 0
private

Definition at line 696 of file value.h.

Referenced by bitsize(), copy(), and set_bitsize().

◆ m_contents

gdb::unique_xmalloc_ptr<gdb_byte> value::m_contents
private

◆ m_embedded_offset

LONGEST value::m_embedded_offset = 0
private

Definition at line 759 of file value.h.

Referenced by contents_raw(), copy(), embedded_offset(), and set_embedded_offset().

◆ m_enclosing_type

struct type* value::m_enclosing_type
private

◆ m_in_history

bool value::m_in_history
private

Definition at line 652 of file value.h.

Referenced by bits_available(), copy(), and record_latest().

◆ m_initialized

bool value::m_initialized
private

Definition at line 641 of file value.h.

Referenced by copy(), initialized(), and set_initialized().

◆ m_is_zero

bool value::m_is_zero
private

Definition at line 649 of file value.h.

Referenced by copy(), fetch_lazy(), and zero().

◆ m_lazy

bool value::m_lazy
private

◆ m_limited_length

ULONGEST value::m_limited_length = 0
private

◆ [union]

union { ... } value::m_location

◆ m_lval

enum lval_type value::m_lval = not_lval
private

◆ m_modifiable

bool value::m_modifiable
private

Definition at line 622 of file value.h.

Referenced by copy(), deprecated_modifiable(), from_xmethod(), and set_modifiable().

◆ m_offset

LONGEST value::m_offset = 0
private

Definition at line 693 of file value.h.

Referenced by copy(), offset(), and set_offset().

◆ m_optimized_out

std::vector<range> value::m_optimized_out
private

◆ m_parent

value_ref_ptr value::m_parent
private

Definition at line 713 of file value.h.

Referenced by copy(), parent(), and set_parent().

◆ m_pointed_to_offset

LONGEST value::m_pointed_to_offset = 0
private

Definition at line 760 of file value.h.

Referenced by copy(), pointed_to_offset(), and set_pointed_to_offset().

◆ m_reference_count

int value::m_reference_count = 1
private

Definition at line 708 of file value.h.

Referenced by decref(), and incref().

◆ m_stack

bool value::m_stack
private

Definition at line 645 of file value.h.

Referenced by copy(), set_stack(), and stack().

◆ m_type

struct type* value::m_type
private

Definition at line 716 of file value.h.

Referenced by copy(), deprecated_set_type(), non_lval(), preserve(), record_latest(), and type().

◆ m_unavailable

std::vector<range> value::m_unavailable
private

◆ next_frame_id

struct frame_id value::next_frame_id

Definition at line 668 of file value.h.

Referenced by fetch_lazy_register().

◆ [struct]

struct { ... } value::reg

◆ regnum

int value::regnum

Definition at line 664 of file value.h.

Referenced by fetch_lazy_register().

◆ xm_worker

struct xmethod_worker* value::xm_worker

Definition at line 675 of file value.h.

Referenced by from_xmethod().


The documentation for this struct was generated from the following files: