GDB (xrefs)

Classes | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/value.c File Reference
`#include "defs.h"`
`#include "arch-utils.h"`
`#include "symtab.h"`
`#include "gdbtypes.h"`
`#include "value.h"`
`#include "gdbcore.h"`
`#include "command.h"`
`#include "gdbcmd.h"`
`#include "target.h"`
`#include "language.h"`
`#include "demangle.h"`
`#include "regcache.h"`
`#include "block.h"`
`#include "target-float.h"`
`#include "objfiles.h"`
`#include "valprint.h"`
`#include "cli/cli-decode.h"`
`#include "extension.h"`
`#include <ctype.h>`
`#include "tracepoint.h"`
`#include "cp-abi.h"`
`#include "user-regs.h"`
`#include <algorithm>`
`#include "completer.h"`

Go to the source code of this file.

## Classes
struct | internal_function
struct | range
struct | value
struct | ranges_and_idx
struct | value_history_chunk
union | internalvar_data
struct | internalvar

## Macros
#define | VALUE_HISTORY_CHUNK 60
#define | MIN_VALUE_FOR_MAX_VALUE_SIZE 16

## Typedefs
typedef struct range | range_s

## Enumerations
enum | internalvar_kind { INTERNALVAR_VOID, INTERNALVAR_VALUE, INTERNALVAR_MAKE_VALUE, INTERNALVAR_FUNCTION, INTERNALVAR_INTEGER, INTERNALVAR_STRING }

## Functions
| DEF_VEC_O (range_s)
static int | ranges_overlap (LONGEST offset1, LONGEST len1, LONGEST offset2, LONGEST len2)
static int | range_lessthan (const range_s *r1, const range_s *r2)
static int | ranges_contain (VEC(range_s) *ranges, LONGEST offset, LONGEST length)
struct gdbarch * | get_value_arch (const struct value *value)
int | value_bits_available (const struct value *value, LONGEST offset, LONGEST length)
int | value_bytes_available (const struct value *value, LONGEST offset, LONGEST length)
int | value_bits_any_optimized_out (const struct value *value, int bit_offset, int bit_length)
int | value_entirely_available (struct value *value)
static int | value_entirely_covered_by_range_vector (struct value *value, VEC(range_s) **ranges)
int | value_entirely_unavailable (struct value *value)
int | value_entirely_optimized_out (struct value *value)
static void | insert_into_bit_range_vector (VEC(range_s) **vectorp, LONGEST offset, LONGEST length)
void | mark_value_bits_unavailable (struct value *value, LONGEST offset, LONGEST length)
void | mark_value_bytes_unavailable (struct value *value, LONGEST offset, LONGEST length)
static int | find_first_range_overlap (VEC(range_s) *ranges, int pos, LONGEST offset, LONGEST length)
static int | memcmp_with_bit_offsets (const gdb_byte *ptr1, size_t offset1_bits, const gdb_byte *ptr2, size_t offset2_bits, size_t length_bits)
static int | find_first_range_overlap_and_match (struct ranges_and_idx *rp1, struct ranges_and_idx *rp2, LONGEST offset1, LONGEST offset2, LONGEST length, ULONGEST *l, ULONGEST *h)
static bool | value_contents_bits_eq (const struct value *val1, int offset1, const struct value *val2, int offset2, int length)
bool | value_contents_eq (const struct value *val1, LONGEST offset1, const struct value *val2, LONGEST offset2, LONGEST length)
struct value * | allocate_value_lazy (struct type *type)
| gdb_static_assert (sizeof(LONGEST)<=MIN_VALUE_FOR_MAX_VALUE_SIZE)
static void | set_max_value_size (const char *args, int from_tty, struct cmd_list_element *c)
static void | show_max_value_size (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | check_type_length_before_alloc (const struct type *type)
static void | allocate_value_contents (struct value *val)
struct value * | allocate_value (struct type *type)
struct value * | allocate_repeat_value (struct type *type, int count)
struct value * | allocate_computed_value (struct type *type, const struct lval_funcs *funcs, void *closure)
struct value * | allocate_optimized_out_value (struct type *type)
struct value * | value_next (const struct value *value)
struct type * | value_type (const struct value *value)
void | deprecated_set_value_type (struct value *value, struct type *type)
LONGEST | value_offset (const struct value *value)
void | set_value_offset (struct value *value, LONGEST offset)
LONGEST | value_bitpos (const struct value *value)
void | set_value_bitpos (struct value *value, LONGEST bit)
LONGEST | value_bitsize (const struct value *value)
void | set_value_bitsize (struct value *value, LONGEST bit)
struct value * | value_parent (const struct value *value)
void | set_value_parent (struct value *value, struct value *parent)
gdb_byte * | value_contents_raw (struct value *value)
gdb_byte * | value_contents_all_raw (struct value *value)
struct type * | value_enclosing_type (const struct value *value)
struct type * | value_actual_type (struct value *value, int resolve_simple_types, int *real_type_found)
void | error_value_optimized_out (void)
static void | require_not_optimized_out (const struct value *value)
static void | require_available (const struct value *value)
const gdb_byte * | value_contents_for_printing (struct value *value)
const gdb_byte * | value_contents_for_printing_const (const struct value *value)
const gdb_byte * | value_contents_all (struct value *value)
static void | ranges_copy_adjusted (VEC(range_s) **dst_range, int dst_bit_offset, VEC(range_s) *src_range, int src_bit_offset, int bit_length)
static void | value_ranges_copy_adjusted (struct value *dst, int dst_bit_offset, const struct value *src, int src_bit_offset, int bit_length)
void | value_contents_copy_raw (struct value *dst, LONGEST dst_offset, struct value *src, LONGEST src_offset, LONGEST length)
void | value_contents_copy (struct value *dst, LONGEST dst_offset, struct value *src, LONGEST src_offset, LONGEST length)
int | value_lazy (const struct value *value)
void | set_value_lazy (struct value *value, int val)
int | value_stack (const struct value *value)
void | set_value_stack (struct value *value, int val)
const gdb_byte * | value_contents (struct value *value)
gdb_byte * | value_contents_writeable (struct value *value)
int | value_optimized_out (struct value *value)
void | mark_value_bytes_optimized_out (struct value *value, int offset, int length)
void | mark_value_bits_optimized_out (struct value *value, LONGEST offset, LONGEST length)
int | value_bits_synthetic_pointer (const struct value *value, LONGEST offset, LONGEST length)
LONGEST | value_embedded_offset (const struct value *value)
void | set_value_embedded_offset (struct value *value, LONGEST val)
LONGEST | value_pointed_to_offset (const struct value *value)
void | set_value_pointed_to_offset (struct value *value, LONGEST val)
const struct lval_funcs * | value_computed_funcs (const struct value *v)
void * | value_computed_closure (const struct value *v)
enum lval_type * | deprecated_value_lval_hack (struct value *value)
enum lval_type | value_lval_const (const struct value *value)
CORE_ADDR | value_address (const struct value *value)
CORE_ADDR | value_raw_address (const struct value *value)
void | set_value_address (struct value *value, CORE_ADDR addr)
struct internalvar ** | deprecated_value_internalvar_hack (struct value *value)
struct frame_id * | deprecated_value_next_frame_id_hack (struct value *value)
int * | deprecated_value_regnum_hack (struct value *value)
int | deprecated_value_modifiable (const struct value *value)
struct value * | value_mark (void)
void | value_incref (struct value *val)
void | value_free (struct value *val)
void | value_free_to_mark (const struct value *mark)
void | free_all_values (void)
void | free_value_chain (struct value *v)
void | release_value (struct value *val)
void | release_value_or_incref (struct value *val)
struct value * | value_release_to_mark (const struct value *mark)
struct value * | value_copy (struct value *arg)
struct value * | make_cv_value (int cnst, int voltl, struct value *v)
struct value * | value_non_lval (struct value *arg)
void | value_force_lval (struct value *v, CORE_ADDR addr)
void | set_value_component_location (struct value *component, const struct value *whole)
int | record_latest_value (struct value *val)
struct value * | access_value_history (int num)
static void | show_values (const char *num_exp, int from_tty)
static void | init_if_undefined_command (const char *args, int from_tty)
struct internalvar * | lookup_only_internalvar (const char *name)
void | complete_internalvar (completion_tracker &tracker, const char *name)
struct internalvar * | create_internalvar (const char *name)
struct internalvar * | create_internalvar_type_lazy (const char *name, const struct internalvar_funcs *funcs, void *data)
int | compile_internalvar_to_ax (struct internalvar *var, struct agent_expr *expr, struct axs_value *value)
struct internalvar * | lookup_internalvar (const char *name)
struct value * | value_of_internalvar (struct gdbarch *gdbarch, struct internalvar *var)
int | get_internalvar_integer (struct internalvar *var, LONGEST *result)
static int | get_internalvar_function (struct internalvar *var, struct internal_function **result)
void | set_internalvar_component (struct internalvar *var, LONGEST offset, LONGEST bitpos, LONGEST bitsize, struct value *newval)
void | set_internalvar (struct internalvar *var, struct value *val)
void | set_internalvar_integer (struct internalvar *var, LONGEST l)
void | set_internalvar_string (struct internalvar *var, const char *string)
static void | set_internalvar_function (struct internalvar *var, struct internal_function *f)
void | clear_internalvar (struct internalvar *var)
char * | internalvar_name (const struct internalvar *var)
static struct internal_function * | create_internal_function (const char *name, internal_function_fn handler, void *cookie)
char * | value_internal_function_name (struct value *val)
struct value * | call_internal_function (struct gdbarch *gdbarch, const struct language_defn *language, struct value *func, int argc, struct value **argv)
static void | function_command (const char *command, int from_tty)
static void | function_destroyer (struct cmd_list_element *self, void *ignore)
void | add_internal_function (const char *name, const char *doc, internal_function_fn handler, void *cookie)
void | preserve_one_value (struct value *value, struct objfile *objfile, htab_t copied_types)
static void | preserve_one_internalvar (struct internalvar *var, struct objfile *objfile, htab_t copied_types)
void | preserve_values (struct objfile *objfile)
static void | show_convenience (const char *ignore, int from_tty)
struct value * | value_of_xmethod (struct xmethod_worker *worker)
struct type * | result_type_of_xmethod (struct value *method, int argc, struct value **argv)
struct value * | call_xmethod (struct value *method, int argc, struct value **argv)
LONGEST | value_as_long (struct value *val)
CORE_ADDR | value_as_address (struct value *val)
LONGEST | unpack_long (struct type *type, const gdb_byte *valaddr)
CORE_ADDR | unpack_pointer (struct type *type, const gdb_byte *valaddr)
bool | is_floating_value (struct value *val)
struct value * | value_static_field (struct type *type, int fieldno)
void | set_value_enclosing_type (struct value *val, struct type *new_encl_type)
struct value * | value_primitive_field (struct value *arg1, LONGEST offset, int fieldno, struct type *arg_type)
struct value * | value_field (struct value *arg1, int fieldno)
struct value * | value_fn_field (struct value **arg1p, struct fn_field *f, int j, struct type *type, LONGEST offset)
static LONGEST | unpack_bits_as_long (struct type *field_type, const gdb_byte *valaddr, LONGEST bitpos, LONGEST bitsize)
int | unpack_value_field_as_long (struct type *type, const gdb_byte *valaddr, LONGEST embedded_offset, int fieldno, const struct value *val, LONGEST *result)
LONGEST | unpack_field_as_long (struct type *type, const gdb_byte *valaddr, int fieldno)
void | unpack_value_bitfield (struct value *dest_val, LONGEST bitpos, LONGEST bitsize, const gdb_byte *valaddr, LONGEST embedded_offset, const struct value *val)
struct value * | value_field_bitfield (struct type *type, int fieldno, const gdb_byte *valaddr, LONGEST embedded_offset, const struct value *val)
void | modify_field (struct type *type, gdb_byte *addr, LONGEST fieldval, LONGEST bitpos, LONGEST bitsize)
void | pack_long (gdb_byte *buf, struct type *type, LONGEST num)
static void | pack_unsigned_long (gdb_byte *buf, struct type *type, ULONGEST num)
struct value * | value_from_longest (struct type *type, LONGEST num)
struct value * | value_from_ulongest (struct type *type, ULONGEST num)
struct value * | value_from_pointer (struct type *type, CORE_ADDR addr)
struct value * | value_from_contents_and_address_unresolved (struct type *type, const gdb_byte *valaddr, CORE_ADDR address)
struct value * | value_from_contents_and_address (struct type *type, const gdb_byte *valaddr, CORE_ADDR address)
struct value * | value_from_contents (struct type *type, const gdb_byte *contents)
struct value * | value_from_history_ref (const char *h, const char **endp)
struct value * | value_from_component (struct value *whole, struct type *type, LONGEST offset)
struct value * | coerce_ref_if_computed (const struct value *arg)
struct value * | readjust_indirect_value_type (struct value *value, struct type *enc_type, const struct type *original_type, const struct value *original_value)
struct value * | coerce_ref (struct value *arg)
struct value * | coerce_array (struct value *arg)
enum return_value_convention | struct_return_convention (struct gdbarch *gdbarch, struct value *function, struct type *value_type)
int | using_struct_return (struct gdbarch *gdbarch, struct value *function, struct type *value_type)
void | set_value_initialized (struct value *val, int status)
int | value_initialized (const struct value *val)
void | value_fetch_lazy (struct value *val)
static struct value * | isvoid_internal_fn (struct gdbarch *gdbarch, const struct language_defn *language, void *cookie, int argc, struct value **argv)
void | _initialize_values (void)

## Variables
static struct cmd_list_element * | functionlist
static struct value_history_chunk * | value_history_chain
static int | value_history_count
static struct value * | all_values
static int | max_value_size = 65536
static struct internalvar * | internalvars

## Macro Definition Documentation

## ◆ MIN_VALUE_FOR_MAX_VALUE_SIZE

#define MIN_VALUE_FOR_MAX_VALUE_SIZE 16

Definition at line 966 of file value.c.

Referenced by set_max_value_size().

## ◆ VALUE_HISTORY_CHUNK

#define VALUE_HISTORY_CHUNK 60

Definition at line 890 of file value.c.

Referenced by access_value_history(), preserve_values(), and record_latest_value().

## Typedef Documentation

## ◆ range_s

typedef struct range range_s

Definition at line 71 of file value.c.

## Enumeration Type Documentation

## ◆ internalvar_kind

enum internalvar_kind

Enumerator
INTERNALVAR_VOID |
INTERNALVAR_VALUE |
INTERNALVAR_MAKE_VALUE |
INTERNALVAR_FUNCTION |
INTERNALVAR_INTEGER |
INTERNALVAR_STRING |

Definition at line 2005 of file value.c.

## Function Documentation

## ◆ _initialize_values()

void _initialize_values | ( | void |  | ) |

Definition at line 4040 of file value.c.

References _, add_alias_cmd(), add_cmd(), add_com(), add_internal_function(), add_prefix_cmd(), add_setshow_zuinteger_unlimited_cmd(), class_support, class_vars, cmdlist, function_command(), functionlist, HAVE_PYTHON, init_if_undefined_command(), isvoid_internal_fn(), max_value_size, no_class, no_set_class, set_max_value_size(), setlist, show_convenience(), show_max_value_size(), show_values(), and showlist.

## ◆ access_value_history()

struct value* access_value_history | ( | int | num | ) |

Definition at line 1927 of file value.c.

References _, error(), value_history_chunk::next, value_copy(), value_history_chain, VALUE_HISTORY_CHUNK, value_history_count, and value_history_chunk::values.

Referenced by dump_arc_instruction_command(), evaluate_subexp_standard(), gdbpy_history(), gdbscm_history_ref(), linespec_parse_variable(), print_command_1(), show_values(), value_from_history_ref(), and whatis_exp().

## ◆ add_internal_function()

void add_internal_function | ( | const char * | name,
|  | const char * | doc,
|  | internal_function_fn | handler,
|  | void * | cookie
| ) |  |

Definition at line 2571 of file value.c.

References add_cmd(), create_internal_function(), cmd_list_element::destroyer, function_command(), function_destroyer(), functionlist, lookup_internalvar(), name, no_class, and set_internalvar_function().

Referenced by _initialize_values(), and fnpy_init().

## ◆ allocate_computed_value()

struct value* allocate_computed_value | ( | struct type * | type,
|  | const struct lval_funcs * | funcs,
|  | void * | closure
| ) |  |

Definition at line 1061 of file value.c.

References allocate_value_lazy(), value::closure, value::computed, value::funcs, value::location, lval_computed, and VALUE_LVAL.

Referenced by create_value(), dwarf2_evaluate_loc_desc_full(), siginfo_make_value(), tlb_make_value(), and value_of_dwarf_reg_entry().

## ◆ allocate_optimized_out_value()

struct value* allocate_optimized_out_value | ( | struct type * | type | ) |

Definition at line 1077 of file value.c.

References allocate_value_lazy(), mark_value_bytes_optimized_out(), set_value_lazy(), and TYPE_LENGTH.

Referenced by default_read_var_value(), dwarf2_evaluate_loc_desc_full(), fetch_const_value_from_synthetic_pointer(), loclist_read_variable_at_entry(), read_frame_arg(), s390_unwind_pseudo_register(), typy_optimized_out(), and value_static_field().

## ◆ allocate_repeat_value()

struct value* allocate_repeat_value | ( | struct type * | type,
|  | int | count
| ) |  |

Definition at line 1049 of file value.c.

References allocate_value(), current_language, lookup_array_range_type(), and language_defn::string_lower_bound.

Referenced by evaluate_subexp_standard(), and value_repeat().

## ◆ allocate_value()

struct value* allocate_value | ( | struct type * | type | ) |

Definition at line 1036 of file value.c.

References allocate_value_contents(), allocate_value_lazy(), and value::lazy.

Referenced by aarch64_pseudo_read_value(), ada_convert_actual(), ada_evaluate_subexp(), ada_promote_array_of_integrals(), ada_value_binop(), ada_value_primitive_packed_val(), allocate_repeat_value(), amd64_pseudo_register_read_value(), cast_into_complex(), coerce_unspec_val_to_type(), convert_value_from_python(), regcache::cooked_read_value(), create_value(), default_read_var_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_call(), evaluate_subexp_c(), evaluate_subexp_opencl(), evaluate_subexp_standard(), extract_bitfield_from_watchpoint_value(), gdbpy_invoke_xmethod(), gdbscm_value_to_real(), get_call_return_value(), get_return_value(), i386_pseudo_register_read_value(), lval_func_write(), make_array_descriptor(), opencl_logical_not(), rust_evaluate_subexp(), scalar_binop(), sdata_make_value(), siginfo_make_value(), tlb_make_value(), value_array(), value_cast(), value_complement(), value_copy(), value_cstring(), value_field_bitfield(), value_fn_field(), value_from_component(), value_from_contents(), value_from_longest(), value_from_pointer(), value_from_register(), value_from_ulongest(), value_literal_complex(), value_maybe_namespace_elt(), value_neg(), value_non_lval(), value_of_builtin_frame_fp_reg(), value_of_builtin_frame_pc_reg(), value_of_internalvar(), value_of_xmethod(), value_one(), value_primitive_field(), value_slice(), value_string(), value_struct_elt_for_reference(), value_vector_widen(), value_zero(), vector_binop(), vector_relop(), vlscm_convert_number(), and vlscm_convert_typed_number().

## ◆ allocate_value_contents()

static void allocate_value_contents | ( | struct value * | val | ) |
| static

Definition at line 1023 of file value.c.

References check_type_length_before_alloc(), value::contents, value::enclosing_type, TYPE_LENGTH, and xzalloc().

Referenced by allocate_value(), value_contents_all_raw(), value_contents_raw(), and value_fetch_lazy().

## ◆ allocate_value_lazy()

struct value* allocate_value_lazy | ( | struct type * | type | ) |

Definition at line 916 of file value.c.

References value::address, all_values, value::bitpos, value::bitsize, check_typedef(), value::contents, value::embedded_offset, value::enclosing_type, value::initialized, value::lazy, value::location, value::modifiable, value::next, not_lval, value::offset, value::pointed_to_offset, value::reference_count, type, value::type, VALUE_LVAL, and XCNEW.

Referenced by allocate_computed_value(), allocate_optimized_out_value(), allocate_value(), coerce_unspec_val_to_type(), frame_unwind_got_optimized(), value_copy(), value_from_component(), value_from_contents_and_address(), value_from_contents_and_address_unresolved(), value_of_register_lazy(), value_primitive_field(), and value_slice().

## ◆ call_internal_function()

struct value* call_internal_function | ( | struct gdbarch * | gdbarch,
|  | const struct language_defn * | language,
|  | struct value * | func,
|  | int | argc,
|  | struct value ** | argv
| ) |  |

Definition at line 2533 of file value.c.

References gdb::argv, internal_function::cookie, func, gdb_assert, get_internalvar_function(), internal_function::handler, lval_internalvar, VALUE_INTERNALVAR, and VALUE_LVAL.

Referenced by ada_evaluate_subexp(), and eval_call().

## ◆ call_xmethod()

struct value* call_xmethod | ( | struct value * | method,
|  | int | argc,
|  | struct value ** | argv
| ) |  |

Definition at line 2734 of file value.c.

References gdb::argv, gdb_assert, invoke_xmethod(), value::location, value::lval, lval_xcallable, TYPE_CODE, TYPE_CODE_XMETHOD, value_type(), and value::xm_worker.

Referenced by eval_call(), value_x_binop(), and value_x_unop().

## ◆ check_type_length_before_alloc()

static void check_type_length_before_alloc | ( | const struct type * | type | ) |
| static

Definition at line 1005 of file value.c.

References _, error(), max_value_size, TYPE_LENGTH, and TYPE_NAME.

Referenced by allocate_value_contents(), and set_value_enclosing_type().

## ◆ clear_internalvar()

void clear_internalvar | ( | struct internalvar * | var | ) |

Definition at line 2475 of file value.c.

References internalvar_data::data, internalvar_funcs::destroy, internalvar_data::functions, INTERNALVAR_MAKE_VALUE, INTERNALVAR_STRING, INTERNALVAR_VALUE, INTERNALVAR_VOID, internalvar::kind, internalvar_data::make_value, internalvar_data::string, internalvar::u, internalvar_data::value, value_free(), and xfree().

Referenced by clear_exit_convenience_vars(), set_internalvar(), set_internalvar_function(), set_internalvar_integer(), set_internalvar_string(), set_traceframe_context(), and x_command().

## ◆ coerce_array()

struct value* coerce_array | ( | struct value * | arg | ) |

Definition at line 3780 of file value.c.

References language_defn::c_style_arrays, check_typedef(), coerce_ref(), current_language, type, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_FUNC, TYPE_VECTOR, value_coerce_array(), value_coerce_function(), and value_type().

Referenced by evaluate_subexp_for_address(), value_as_address(), value_as_long(), value_assign(), value_equal(), value_find_oload_method_list(), value_ind(), value_less(), value_logical_not(), value_ptradd(), value_ptrdiff(), value_reinterpret_cast(), value_struct_elt(), value_struct_elt_bitpos(), and varobj_set_value().

## ◆ coerce_ref()

struct value* coerce_ref | ( | struct value * | arg | ) |

Definition at line 3755 of file value.c.

References check_typedef(), coerce_ref_if_computed(), readjust_indirect_value_type(), TYPE_IS_REFERENCE, TYPE_TARGET_TYPE, unpack_pointer(), value_at_lazy(), value_contents(), value_enclosing_type(), and value_type().

Referenced by ada_coerce_ref(), ada_evaluate_subexp(), ada_val_print_gnat_array(), ada_value_binop(), ada_value_struct_elt(), binop_promote(), coerce_array(), decode_constrained_packed_array(), evaluate_subexp_modula2(), evaluate_subexp_standard(), find_overload_match(), gdbscm_value_dynamic_type(), gdbscm_value_referenced_value(), gdbscm_value_subscript(), gnuv3_get_typeid(), gnuv3_print_vtable(), install_new_value(), opencl_value_cast(), pos_atr(), read_frame_arg(), scalar_binop(), unop_promote(), valpy_get_dynamic_type(), valpy_getitem(), valpy_referenced_value(), value_addr(), value_assign(), value_cast(), value_cast_pointers(), value_complement(), value_neg(), value_pos(), value_rtti_indirect_type(), value_subscript(), value_x_binop(), value_x_unop(), varobj_value_has_mutated(), and x_command().

## ◆ coerce_ref_if_computed()

struct value* coerce_ref_if_computed | ( | const struct value * | arg | ) |

Definition at line 3719 of file value.c.

References check_typedef(), lval_funcs::coerce_ref, lval_computed, TYPE_IS_REFERENCE, value_computed_funcs(), value_lval_const(), and value_type().

Referenced by ada_val_print_ref(), coerce_ref(), generic_val_print_ref(), and valprint_check_validity().

## ◆ compile_internalvar_to_ax()

int compile_internalvar_to_ax | ( | struct internalvar * | var,
|  | struct agent_expr * | expr,
|  | struct axs_value * | value
| ) |  |

Definition at line 2192 of file value.c.

References internalvar_funcs::compile_to_ax, internalvar_data::data, internalvar_data::functions, INTERNALVAR_MAKE_VALUE, internalvar::kind, internalvar_data::make_value, and internalvar::u.

Referenced by gen_expr().

## ◆ complete_internalvar()

void complete_internalvar | ( | completion_tracker & | tracker,
|  | const char * | name
| ) |  |

Definition at line 2138 of file value.c.

References completion_tracker::add_completion(), internalvars, name, internalvar::name, and internalvar::next.

Referenced by condition_completer().

## ◆ create_internal_function()

static struct internal_function* create_internal_function | ( | const char * | name,
|  | internal_function_fn | handler,
|  | void * | cookie
| ) |  |
| static

Definition at line 2508 of file value.c.

References internal_function::cookie, internal_function::handler, internal_function::name, name, and XNEW.

Referenced by add_internal_function().

## ◆ create_internalvar()

struct internalvar* create_internalvar | ( | const char * | name | ) |

Definition at line 2158 of file value.c.

References INTERNALVAR_VOID, internalvars, internalvar::kind, name, internalvar::name, internalvar::next, and XNEW.

Referenced by create_internalvar_type_lazy(), lookup_internalvar(), and write_dollar_variable().

## ◆ create_internalvar_type_lazy()

struct internalvar* create_internalvar_type_lazy | ( | const char * | name,
|  | const struct internalvar_funcs * | funcs,
|  | void * | data
| ) |  |

Definition at line 2177 of file value.c.

References create_internalvar(), internalvar_data::data, internalvar_data::functions, INTERNALVAR_MAKE_VALUE, internalvar::kind, internalvar_data::make_value, name, and internalvar::u.

Referenced by _initialize_break_catch_throw(), _initialize_infrun(), _initialize_probe(), _initialize_thread(), _initialize_tracepoint(), _initialize_windows_tdep(), and initialize_inferiors().

## ◆ DEF_VEC_O()

DEF_VEC_O | ( | range_s |  | ) |

## ◆ deprecated_set_value_type()

void deprecated_set_value_type | ( | struct value * | value,
|  | struct type * | type
| ) |  |

Definition at line 1100 of file value.c.

References type, and value::type.

Referenced by ada_value_assign(), coerce_for_assign(), do_search_struct_field(), evaluate_subexp_standard(), gnuv2_virtual_fn_field(), make_cv_value(), readjust_indirect_value_type(), value_addr(), value_cast(), value_cast_pointers(), value_full_object(), value_nsstring(), and value_ref().

## ◆ deprecated_value_internalvar_hack()

struct internalvar** deprecated_value_internalvar_hack | ( | struct value * | value | ) |

Definition at line 1560 of file value.c.

References value::internalvar, and value::location.

## ◆ deprecated_value_lval_hack()

enum lval_type* deprecated_value_lval_hack | ( | struct value * | value | ) |

Definition at line 1517 of file value.c.

References value::lval.

## ◆ deprecated_value_modifiable()

int deprecated_value_modifiable | ( | const struct value * | value | ) |

Definition at line 1580 of file value.c.

References value::modifiable.

Referenced by ada_value_assign(), assign_aggregate(), can_use_hardware_watchpoint(), evaluate_subexp_opencl(), num_memory_accesses(), and value_assign().

## ◆ deprecated_value_next_frame_id_hack()

struct frame_id* deprecated_value_next_frame_id_hack | ( | struct value * | value | ) |

Definition at line 1566 of file value.c.

References gdb_assert, value::location, value::lval, lval_register, and value::reg.

## ◆ deprecated_value_regnum_hack()

int* deprecated_value_regnum_hack | ( | struct value * | value | ) |

Definition at line 1573 of file value.c.

References gdb_assert, value::location, value::lval, lval_register, and value::reg.

## ◆ error_value_optimized_out()

void error_value_optimized_out | ( | void |  | ) |

Definition at line 1225 of file value.c.

References _, and error().

Referenced by address_from_register(), and require_not_optimized_out().

## ◆ find_first_range_overlap()

static int find_first_range_overlap | ( | VEC(range_s) * | ranges,
|  | int | pos,
|  | LONGEST | offset,
|  | LONGEST | length
| ) |  |
| static

Definition at line 615 of file value.c.

References range::length, offset, range::offset, ranges_overlap(), and VEC_iterate.

Referenced by find_first_range_overlap_and_match().

## ◆ find_first_range_overlap_and_match()

static int find_first_range_overlap_and_match | ( | struct ranges_and_idx * | rp1,
|  | struct ranges_and_idx * | rp2,
|  | LONGEST | offset1,
|  | LONGEST | offset2,
|  | LONGEST | length,
|  | ULONGEST * | l,
|  | ULONGEST * | h
| ) |  |
| static

Definition at line 750 of file value.c.

References find_first_range_overlap(), range::length, range::offset, offset1, and VEC_index.

Referenced by value_contents_bits_eq().

## ◆ free_all_values()

void free_all_values | ( | void |  | ) |

Definition at line 1660 of file value.c.

References all_values, value::next, value::released, and value_free().

## ◆ free_value_chain()

void free_value_chain | ( | struct value * | v | ) |

Definition at line 1678 of file value.c.

References value::next, value_free(), and value_next().

Referenced by check_condition().

## ◆ function_command()

static void function_command | ( | const char * | command,
|  | int | from_tty
| ) |  |
| static

Definition at line 2552 of file value.c.

Referenced by _initialize_values(), and add_internal_function().

## ◆ function_destroyer()

static void function_destroyer | ( | struct cmd_list_element * | self,
|  | void * | ignore
| ) |  |
| static

Definition at line 2559 of file value.c.

References xfree().

Referenced by add_internal_function().

## ◆ gdb_static_assert()

gdb_static_assert | ( | sizeof(LONGEST)<= | MIN_VALUE_FOR_MAX_VALUE_SIZE | ) |

## ◆ get_internalvar_function()

static int get_internalvar_function | ( | struct internalvar * | var,
|  | struct internal_function ** | result
| ) |  |
| static

Definition at line 2336 of file value.c.

References internalvar_data::fn, internalvar_data::function, INTERNALVAR_FUNCTION, internalvar::kind, and internalvar::u.

Referenced by call_internal_function(), set_internalvar(), and value_internal_function_name().

## ◆ get_internalvar_integer()

int get_internalvar_integer | ( | struct internalvar * | var,
|  | LONGEST * | result
| ) |  |

Definition at line 2313 of file value.c.

References check_typedef(), internalvar_data::integer, INTERNALVAR_INTEGER, INTERNALVAR_VALUE, internalvar::kind, TYPE_CODE, TYPE_CODE_INT, internalvar::u, internalvar_data::val, internalvar_data::value, value_as_long(), and value_type().

Referenced by get_number_trailer(), and linespec_parse_variable().

## ◆ get_value_arch()

struct gdbarch* get_value_arch | ( | const struct value * | value | ) |

Definition at line 343 of file value.c.

References get_type_arch(), and value_type().

Referenced by read_value_memory(), set_internalvar_component(), value_contents_copy_raw(), value_contents_raw(), and value_primitive_field().

## ◆ init_if_undefined_command()

static void init_if_undefined_command | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 2089 of file value.c.

References _, error(), evaluate_expression(), INTERNALVAR_VOID, intvar, internalvar::kind, and parse_expression().

Referenced by _initialize_values().

## ◆ insert_into_bit_range_vector()

static void insert_into_bit_range_vector | ( | VEC(range_s) ** | vectorp,
|  | LONGEST | offset,
|  | LONGEST | length
| ) |  |
| static

Definition at line 428 of file value.c.

References range::length, offset, range::offset, range_lessthan(), ranges_overlap(), VEC_block_remove, VEC_index, VEC_iterate, VEC_length, VEC_lower_bound, and VEC_safe_insert.

Referenced by mark_value_bits_optimized_out(), mark_value_bits_unavailable(), and ranges_copy_adjusted().

## ◆ internalvar_name()

char* internalvar_name | ( | const struct internalvar * | var | ) |

Definition at line 2502 of file value.c.

References internalvar::name.

Referenced by dump_subexp_body_standard(), gen_expr(), and print_subexp_standard().

## ◆ is_floating_value()

bool is_floating_value | ( | struct value * | val | ) |

Definition at line 2942 of file value.c.

References _, check_typedef(), error(), is_floating_type(), target_float_is_valid(), value_contents(), and value_type().

Referenced by gdbscm_value_to_real(), scalar_binop(), valpy_float(), valpy_nonzero(), value_cast(), value_equal(), value_less(), value_logical_not(), and value_pos().

## ◆ isvoid_internal_fn()

static struct value* isvoid_internal_fn | ( | struct gdbarch * | gdbarch,
|  | const struct language_defn * | language,
|  | void * | cookie,
|  | int | argc,
|  | struct value ** | argv
| ) |  |
| static

Definition at line 4025 of file value.c.

References _, gdb::argv, error(), TYPE_CODE, TYPE_CODE_VOID, value_from_longest(), and value_type().

Referenced by _initialize_values().

## ◆ lookup_internalvar()

struct internalvar* lookup_internalvar | ( | const char * | name | ) |

Definition at line 2212 of file value.c.

References create_internalvar(), lookup_only_internalvar(), and name.

Referenced by add_internal_function(), clear_exit_convenience_vars(), core_open(), find_command(), forward_search_command(), get_number_trailer(), handle_inferior_event_1(), reverse_search_command(), set_breakpoint_count(), set_next_address(), set_traceframe_context(), set_traceframe_num(), set_tracepoint_count(), set_tracepoint_num(), and x_command().

## ◆ lookup_only_internalvar()

struct internalvar* lookup_only_internalvar | ( | const char * | name | ) |

Definition at line 2123 of file value.c.

References internalvars, name, internalvar::name, and internalvar::next.

Referenced by linespec_parse_variable(), lookup_internalvar(), write_dollar_variable(), and yylex().

## ◆ make_cv_value()

struct value* make_cv_value | ( | int | cnst,
|  | int | voltl,
|  | struct value * | v
| ) |  |

Definition at line 1802 of file value.c.

References deprecated_set_value_type(), value::enclosing_type, make_cv_type(), set_value_enclosing_type(), value_copy(), value_enclosing_type(), and value_type().

Referenced by valpy_const_value().

## ◆ mark_value_bits_optimized_out()

void mark_value_bits_optimized_out | ( | struct value * | value,
|  | LONGEST | offset,
|  | LONGEST | length
| ) |  |

Definition at line 1458 of file value.c.

References insert_into_bit_range_vector(), and offset.

Referenced by mark_value_bytes_optimized_out(), and rw_pieced_value().

## ◆ mark_value_bits_unavailable()

void mark_value_bits_unavailable | ( | struct value * | value,
|  | LONGEST | offset,
|  | LONGEST | length
| ) |  |

Definition at line 594 of file value.c.

References insert_into_bit_range_vector(), range::length, and offset.

Referenced by mark_value_bytes_unavailable(), read_value_memory(), and rw_pieced_value().

## ◆ mark_value_bytes_optimized_out()

void mark_value_bytes_optimized_out | ( | struct value * | value,
|  | int | offset,
|  | int | length
| ) |  |

Definition at line 1448 of file value.c.

References mark_value_bits_optimized_out(), offset, and TARGET_CHAR_BIT.

Referenced by allocate_optimized_out_value(), frame_unwind_got_optimized(), and value_from_register().

## ◆ mark_value_bytes_unavailable()

void mark_value_bytes_unavailable | ( | struct value * | value,
|  | LONGEST | offset,
|  | LONGEST | length
| ) |  |

Definition at line 601 of file value.c.

References range::length, mark_value_bits_unavailable(), offset, and TARGET_CHAR_BIT.

Referenced by aarch64_pseudo_read_value(), amd64_pseudo_register_read_value(), regcache::cooked_read_value(), dwarf2_evaluate_loc_desc_full(), i386_pseudo_register_read_into_value(), and value_from_register().

## ◆ memcmp_with_bit_offsets()

static int memcmp_with_bit_offsets | ( | const gdb_byte * | ptr1,
|  | size_t | offset1_bits,
|  | const gdb_byte * | ptr2,
|  | size_t | offset2_bits,
|  | size_t | length_bits
| ) |  |
| static

Definition at line 641 of file value.c.

References bits, gdb_assert, and TARGET_CHAR_BIT.

Referenced by value_contents_bits_eq().

## ◆ modify_field()

void modify_field | ( | struct type * | type,
|  | gdb_byte * | addr,
|  | LONGEST | fieldval,
|  | LONGEST | bitpos,
|  | LONGEST | bitsize
| ) |  |

Definition at line 3403 of file value.c.

References _, value::bitpos, value::bitsize, extract_unsigned_integer(), gdbarch_bits_big_endian(), gdbarch_byte_order(), get_type_arch(), plongest(), store_unsigned_integer(), and warning().

Referenced by evaluate_struct_tuple(), make_array_descriptor(), set_internalvar_component(), and value_assign().

## ◆ pack_long()

void pack_long | ( | gdb_byte * | buf,
|  | struct type * | type,
|  | LONGEST | num
| ) |  |

Definition at line 3450 of file value.c.

References _, check_typedef(), error(), gdbarch_byte_order(), get_type_arch(), store_signed_integer(), store_typed_address(), target_float_from_longest(), TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_DECFLOAT, TYPE_CODE_ENUM, TYPE_CODE_FLAGS, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_RVALUE_REF, and TYPE_LENGTH.

Referenced by emit_numeric_character(), frame_unwind_got_address(), generic_emit_char(), linux_make_mappings_callback(), linux_make_mappings_corefile_notes(), and value_from_longest().

## ◆ pack_unsigned_long()

static void pack_unsigned_long | ( | gdb_byte * | buf,
|  | struct type * | type,
|  | ULONGEST | num
| ) |  |
| static

Definition at line 3491 of file value.c.

References _, check_typedef(), error(), gdbarch_byte_order(), get_type_arch(), store_typed_address(), store_unsigned_integer(), target_float_from_ulongest(), TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_DECFLOAT, TYPE_CODE_ENUM, TYPE_CODE_FLAGS, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_RVALUE_REF, and TYPE_LENGTH.

Referenced by value_from_ulongest().

## ◆ preserve_one_internalvar()

static void preserve_one_internalvar | ( | struct internalvar * | var,
|  | struct objfile * | objfile,
|  | htab_t | copied_types
| ) |  |
| static

Definition at line 2605 of file value.c.

References copy_type_recursive(), internalvar_data::integer, INTERNALVAR_INTEGER, INTERNALVAR_VALUE, internalvar::kind, preserve_one_value(), internalvar_data::type, TYPE_OBJFILE, internalvar::u, and internalvar_data::value.

Referenced by preserve_values().

## ◆ preserve_one_value()

void preserve_one_value | ( | struct value * | value,
|  | struct objfile * | objfile,
|  | htab_t | copied_types
| ) |  |

Definition at line 2590 of file value.c.

References copy_type_recursive(), value::enclosing_type, value::type, and TYPE_OBJFILE.

Referenced by gdbpy_preserve_values(), gdbscm_preserve_values(), preserve_one_internalvar(), and preserve_values().

## ◆ preserve_values()

void preserve_values | ( | struct objfile * | objfile | ) |

Definition at line 2629 of file value.c.

References create_copied_types_hash(), internalvars, value_history_chunk::next, internalvar::next, preserve_ext_lang_values(), preserve_one_internalvar(), preserve_one_value(), value_history_chain, VALUE_HISTORY_CHUNK, and value_history_chunk::values.

Referenced by reread_symbols(), and objfile::~objfile().

## ◆ range_lessthan()

static int range_lessthan | ( | const range_s * | r1,
|  | const range_s * | r2
| ) |  |
| static

Definition at line 95 of file value.c.

References range::offset.

Referenced by insert_into_bit_range_vector(), and ranges_contain().

## ◆ ranges_contain()

static int ranges_contain | ( | VEC(range_s) * | ranges,
|  | LONGEST | offset,
|  | LONGEST | length
| ) |  |
| static

Definition at line 104 of file value.c.

References range::length, offset, range::offset, range_lessthan(), ranges_overlap(), VEC_index, VEC_length, and VEC_lower_bound.

Referenced by value_bits_any_optimized_out(), and value_bits_available().

## ◆ ranges_copy_adjusted()

static void ranges_copy_adjusted | ( | VEC(range_s) ** | dst_range,
|  | int | dst_bit_offset,
|  | VEC(range_s) * | src_range,
|  | int | src_bit_offset,
|  | int | bit_length
| ) |  |
| static

Definition at line 1277 of file value.c.

References insert_into_bit_range_vector(), range::length, range::offset, and VEC_iterate.

Referenced by value_ranges_copy_adjusted().

## ◆ ranges_overlap()

static int ranges_overlap | ( | LONGEST | offset1,
|  | LONGEST | len1,
|  | LONGEST | offset2,
|  | LONGEST | len2
| ) |  |
| static

Definition at line 79 of file value.c.

References offset1.

Referenced by find_first_range_overlap(), insert_into_bit_range_vector(), and ranges_contain().

## ◆ readjust_indirect_value_type()

struct value* readjust_indirect_value_type | ( | struct value * | value,
|  | struct type * | enc_type,
|  | const struct type * | original_type,
|  | const struct value * | original_value
| ) |  |

Definition at line 3739 of file value.c.

References deprecated_set_value_type(), set_value_embedded_offset(), set_value_enclosing_type(), TYPE_TARGET_TYPE, value_full_object(), and value_pointed_to_offset().

Referenced by coerce_ref(), and value_ind().

## ◆ record_latest_value()

int record_latest_value | ( | struct value * | val | ) |

Definition at line 1884 of file value.c.

References value::modifiable, value_history_chunk::next, release_value_or_incref(), value_fetch_lazy(), value_history_chain, VALUE_HISTORY_CHUNK, value_history_count, value_lazy(), value_history_chunk::values, and XCNEW.

Referenced by dump_arc_instruction_command(), finish_command_fsm_should_stop(), gdbscm_history_append_x(), and print_value().

## ◆ release_value()

void release_value | ( | struct value * | val | ) |

Definition at line 1693 of file value.c.

References all_values, value::next, and value::released.

Referenced by address_from_register(), alpha_register_to_value(), bpstats::bpstats(), do_examine(), regcache::dump(), dwarf2_compute_name(), frame_register_unwind(), frame_unwind_register_signed(), frame_unwind_register_unsigned(), get_frame_register_bytes(), info_frame_command(), m68hc11_frame_prev_register(), m88k_frame_prev_register(), mep_frame_prev_register(), put_frame_register_bytes(), register_changed_p(), release_value_or_incref(), set_internalvar(), update_watchpoint(), value_of_dwarf_reg_entry(), watch_command_1(), and watchpoint_check().

## ◆ release_value_or_incref()

void release_value_or_incref | ( | struct value * | val | ) |

Definition at line 1723 of file value.c.

References release_value(), value::released, and value_incref().

Referenced by record_latest_value(), update_dynamic_varobj_children(), valpy_new(), value_to_value_object(), and vlscm_scm_from_value().

## ◆ require_available()

static void require_available | ( | const struct value * | value | ) |
| static

Definition at line 1243 of file value.c.

References _, NOT_AVAILABLE_ERROR, throw_error(), and VEC_empty.

Referenced by value_contents(), and value_contents_all().

## ◆ require_not_optimized_out()

static void require_not_optimized_out | ( | const struct value * | value | ) |
| static

Definition at line 1231 of file value.c.

References _, error(), error_value_optimized_out(), value::lval, lval_register, and VEC_empty.

Referenced by value_contents(), and value_contents_all().

## ◆ result_type_of_xmethod()

struct type* result_type_of_xmethod | ( | struct value * | method,
|  | int | argc,
|  | struct value ** | argv
| ) |  |

Definition at line 2722 of file value.c.

References gdb::argv, gdb_assert, get_xmethod_result_type(), value::location, value::lval, lval_xcallable, TYPE_CODE, TYPE_CODE_XMETHOD, value_type(), and value::xm_worker.

Referenced by eval_call(), value_x_binop(), and value_x_unop().

## ◆ set_internalvar()

void set_internalvar | ( | struct internalvar * | var,
|  | struct value * | val
| ) |  |

Definition at line 2381 of file value.c.

References _, internalvar_data::canonical, check_typedef(), clear_internalvar(), DYN_PROP_DATA_LOCATION, error(), internalvar_data::fn, internalvar_data::function, gdb_assert, get_internalvar_function(), INTERNALVAR_FUNCTION, INTERNALVAR_VALUE, INTERNALVAR_VOID, internalvar::kind, lval_internalvar, value::modifiable, internalvar::name, release_value(), remove_dyn_prop(), TYPE_CODE, TYPE_CODE_INTERNAL_FUNCTION, TYPE_CODE_VOID, internalvar::u, internalvar_data::val, internalvar_data::value, value_copy(), value_fetch_lazy(), VALUE_INTERNALVAR, value_lazy(), VALUE_LVAL, and value_type().

Referenced by find_command(), set_next_address(), value_assign(), and x_command().

## ◆ set_internalvar_component()

void set_internalvar_component | ( | struct internalvar * | var,
|  | LONGEST | offset,
|  | LONGEST | bitpos,
|  | LONGEST | bitsize,
|  | struct value * | newval
| ) |  |

Definition at line 2351 of file value.c.

References _, gdbarch_addressable_memory_unit_size(), get_value_arch(), internal_error(), INTERNALVAR_VALUE, internalvar::kind, modify_field(), offset, TYPE_LENGTH, internalvar::u, internalvar_data::value, value_as_long(), value_contents(), value_contents_writeable(), and value_type().

Referenced by value_assign().

## ◆ set_internalvar_function()

static void set_internalvar_function | ( | struct internalvar * | var,
|  | struct internal_function * | f
| ) |  |
| static

Definition at line 2463 of file value.c.

References internalvar_data::canonical, clear_internalvar(), internalvar_data::fn, internalvar_data::function, INTERNALVAR_FUNCTION, internalvar::kind, and internalvar::u.

Referenced by add_internal_function().

## ◆ set_internalvar_integer()

void set_internalvar_integer | ( | struct internalvar * | var,
|  | LONGEST | l
| ) |  |

Definition at line 2442 of file value.c.

References clear_internalvar(), internalvar_data::integer, INTERNALVAR_INTEGER, internalvar::kind, internalvar_data::type, internalvar::u, and internalvar_data::val.

Referenced by core_open(), find_command(), forward_search_command(), handle_inferior_event_1(), reverse_search_command(), set_breakpoint_count(), set_traceframe_context(), set_traceframe_num(), set_tracepoint_count(), and set_tracepoint_num().

## ◆ set_internalvar_string()

void set_internalvar_string | ( | struct internalvar * | var,
|  | const char * | string
| ) |  |

Definition at line 2453 of file value.c.

References clear_internalvar(), INTERNALVAR_STRING, internalvar::kind, internalvar_data::string, and internalvar::u.

Referenced by set_traceframe_context().

## ◆ set_max_value_size()

static void set_max_value_size | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 972 of file value.c.

References _, error(), gdb_assert, max_value_size, and MIN_VALUE_FOR_MAX_VALUE_SIZE.

Referenced by _initialize_values().

## ◆ set_value_address()

void set_value_address | ( | struct value * | value,
|  | CORE_ADDR | addr
| ) |  |

Definition at line 1553 of file value.c.

References value::address, gdb_assert, value::location, value::lval, and lval_memory.

Referenced by coerce_unspec_val_to_type(), elf_gnu_ifunc_resolve_addr(), elf_gnu_ifunc_resolver_return_stop(), ensure_lval(), set_value_component_location(), value_fn_field(), value_from_contents_and_address(), value_from_contents_and_address_unresolved(), and value_repeat().

## ◆ set_value_bitpos()

void set_value_bitpos | ( | struct value * | value,
|  | LONGEST | bit
| ) |  |

Definition at line 1122 of file value.c.

References bit, and value::bitpos.

Referenced by ada_value_primitive_packed_val(), and coerce_unspec_val_to_type().

## ◆ set_value_bitsize()

void set_value_bitsize | ( | struct value * | value,
|  | LONGEST | bit
| ) |  |

Definition at line 1133 of file value.c.

References bit, and value::bitsize.

Referenced by ada_value_primitive_packed_val(), and coerce_unspec_val_to_type().

## ◆ set_value_component_location()

void set_value_component_location | ( | struct value * | component,
|  | const struct value * | whole
| ) |  |

Definition at line 1849 of file value.c.

References value::computed, lval_funcs::copy_closure, gdb_assert, value::location, value::lval, lval_computed, lval_internalvar, lval_internalvar_component, lval_xcallable, PROP_CONST, set_value_address(), type, TYPE_DATA_LOCATION, TYPE_DATA_LOCATION_ADDR, TYPE_DATA_LOCATION_KIND, VALUE_LVAL, and value_type().

Referenced by ada_value_primitive_packed_val(), coerce_unspec_val_to_type(), value_from_component(), value_primitive_field(), value_ptradd(), and value_slice().

## ◆ set_value_embedded_offset()

void set_value_embedded_offset | ( | struct value * | value,
|  | LONGEST | val
| ) |  |

Definition at line 1483 of file value.c.

References value::embedded_offset.

Referenced by do_search_struct_field(), readjust_indirect_value_type(), value_full_object(), and value_non_lval().

## ◆ set_value_enclosing_type()

void set_value_enclosing_type | ( | struct value * | val,
|  | struct type * | new_encl_type
| ) |  |

Definition at line 3010 of file value.c.

References check_type_length_before_alloc(), value::contents, value::enclosing_type, TYPE_LENGTH, value_enclosing_type(), and xrealloc().

Referenced by make_cv_value(), readjust_indirect_value_type(), value_addr(), value_assign(), value_cast(), value_cast_pointers(), and value_full_object().

## ◆ set_value_initialized()

void set_value_initialized | ( | struct value * | val,
|  | int | status
| ) |  |

Definition at line 3838 of file value.c.

References value::initialized, and status.

Referenced by dwarf2_evaluate_loc_desc_full().

## ◆ set_value_lazy()

void set_value_lazy | ( | struct value * | value,
|  | int | val
| ) |  |

Definition at line 1389 of file value.c.

References value::lazy.

Referenced by allocate_optimized_out_value(), frame_unwind_got_optimized(), gnuv2_virtual_fn_field(), value_assign(), value_fetch_lazy(), and value_of_dwarf_reg_entry().

## ◆ set_value_offset()

void set_value_offset | ( | struct value * | value,
|  | LONGEST | offset
| ) |  |

Definition at line 1111 of file value.c.

References offset, and value::offset.

Referenced by ada_value_primitive_packed_val(), default_value_from_register(), dwarf2_evaluate_loc_desc_full(), gnuv2_virtual_fn_field(), s390_value_from_register(), spu_value_from_register(), and value_slice().

## ◆ set_value_parent()

void set_value_parent | ( | struct value * | value,
|  | struct value * | parent
| ) |  |

Definition at line 1147 of file value.c.

References value::parent, value_free(), and value_incref().

Referenced by ada_value_primitive_packed_val(), value_copy(), and value_primitive_field().

## ◆ set_value_pointed_to_offset()

void set_value_pointed_to_offset | ( | struct value * | value,
|  | LONGEST | val
| ) |  |

Definition at line 1495 of file value.c.

References value::pointed_to_offset.

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

## ◆ set_value_stack()

void set_value_stack | ( | struct value * | value,
|  | int | val
| ) |  |

Definition at line 1401 of file value.c.

References value::stack.

Referenced by dwarf2_evaluate_loc_desc_full(), and frame_unwind_got_memory().

## ◆ show_convenience()

static void show_convenience | ( | const char * | ignore,
|  | int | from_tty
| ) |  |
| static

Definition at line 2654 of file value.c.

References _, CATCH, END_CATCH, fprintf_filtered(), gdb_stdout, get_current_arch(), get_user_print_options(), internalvars, internalvar::name, internalvar::next, printf_filtered(), printf_unfiltered(), RETURN_MASK_ERROR, TRY, value_of_internalvar(), and value_print().

Referenced by _initialize_values().

## ◆ show_max_value_size()

static void show_max_value_size | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 988 of file value.c.

References _, fprintf_filtered(), and max_value_size.

Referenced by _initialize_values().

## ◆ show_values()

static void show_values | ( | const char * | num_exp,
|  | int | from_tty
| ) |  |
| static

Definition at line 1962 of file value.c.

References access_value_history(), gdb_stdout, get_user_print_options(), parse_and_eval_long(), printf_filtered(), set_repeat_arguments(), value_history_count, and value_print().

Referenced by _initialize_values().

## ◆ struct_return_convention()

enum return_value_convention struct_return_convention | ( | struct gdbarch * | gdbarch,
|  | struct value * | function,
|  | struct type * | value_type
| ) |  |

Definition at line 3805 of file value.c.

References _, code, error(), gdbarch_return_value(), TYPE_CODE, TYPE_CODE_ERROR, and value_type().

Referenced by return_command(), and using_struct_return().

## ◆ unpack_bits_as_long()

static LONGEST unpack_bits_as_long | ( | struct type * | field_type,
|  | const gdb_byte * | valaddr,
|  | LONGEST | bitpos,
|  | LONGEST | bitsize
| ) |  |
| static

Definition at line 3237 of file value.c.

References gdbarch::byte_order, check_typedef(), extract_unsigned_integer(), gdbarch_bits_big_endian(), gdbarch_byte_order(), get_type_arch(), read_offset(), TYPE_LENGTH, and TYPE_UNSIGNED.

Referenced by unpack_field_as_long(), unpack_value_bitfield(), and unpack_value_field_as_long().

## ◆ unpack_field_as_long()

LONGEST unpack_field_as_long | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | int | fieldno
| ) |  |

Definition at line 3318 of file value.c.

References TYPE_FIELD_BITPOS, TYPE_FIELD_BITSIZE, TYPE_FIELD_TYPE, and unpack_bits_as_long().

Referenced by dynamic_array_type(), and m2_print_unbounded_array().

## ◆ unpack_long()

LONGEST unpack_long | ( | struct type * | type,
|  | const gdb_byte * | valaddr
| ) |  |

Definition at line 2880 of file value.c.

References _, gdbarch::byte_order, check_typedef(), code, error(), extract_signed_integer(), extract_typed_address(), extract_unsigned_integer(), gdbarch_byte_order(), get_type_arch(), target_float_to_longest(), TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_DECFLOAT, TYPE_CODE_ENUM, TYPE_CODE_FLAGS, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_RVALUE_REF, TYPE_CODE_TYPEDEF, TYPE_LENGTH, TYPE_UNSIGNED, and unpack_long().

Referenced by aarch64_store_return_value(), ada_val_print_enum(), ada_val_print_num(), address_from_register(), alpha_store_return_value(), arm_store_return_value(), avr_integer_to_address(), c_val_print_int(), do_ppc_sysv_return_value(), evaluate_subexp_c(), generic_val_print_bool(), generic_val_print_char(), generic_val_print_enum(), hppa32_push_dummy_call(), hppa64_push_dummy_call(), ppc64_sysv_abi_push_param(), ppc64_sysv_abi_return_value_base(), ppc_sysv_abi_push_dummy_call(), print_scalar_formatted(), rs6000_lynx178_return_value(), rs6000_return_value(), rust_get_disr_info(), spu_integer_to_address(), unpack_long(), unpack_pointer(), val_print_type_code_flags(), value_as_address(), value_as_long(), and value_concat().

## ◆ unpack_pointer()

CORE_ADDR unpack_pointer | ( | struct type * | type,
|  | const gdb_byte * | valaddr
| ) |  |

Definition at line 2934 of file value.c.

References unpack_long().

Referenced by ada_val_print_ref(), c_val_print_ptr(), coerce_ref(), dynamic_array_type(), f_val_print(), generic_val_print_ptr(), generic_val_print_ref(), gnuv2_baseclass_offset(), m2_print_unbounded_array(), m2_val_print(), pascal_val_print(), print_scalar_formatted(), print_unpacked_pointer(), print_variable_at_address(), pyuw_value_obj_to_pointer(), and rust_val_print().

## ◆ unpack_value_bitfield()

void unpack_value_bitfield | ( | struct value * | dest_val,
|  | LONGEST | bitpos,
|  | LONGEST | bitsize,
|  | const gdb_byte * | valaddr,
|  | LONGEST | embedded_offset,
|  | const struct value * | val
| ) |  |

Definition at line 3336 of file value.c.

References gdbarch_byte_order(), get_type_arch(), store_signed_integer(), TARGET_CHAR_BIT, TYPE_LENGTH, unpack_bits_as_long(), value_contents_raw(), value_ranges_copy_adjusted(), and value_type().

Referenced by extract_bitfield_from_watchpoint_value(), value_fetch_lazy(), and value_field_bitfield().

## ◆ unpack_value_field_as_long()

int unpack_value_field_as_long | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | LONGEST | embedded_offset,
|  | int | fieldno,
|  | const struct value * | val,
|  | LONGEST * | result
| ) |  |

Definition at line 3293 of file value.c.

References gdb_assert, TARGET_CHAR_BIT, TYPE_FIELD_BITPOS, TYPE_FIELD_BITSIZE, TYPE_FIELD_TYPE, unpack_bits_as_long(), value_bits_any_optimized_out(), and value_bits_available().

Referenced by print_go_string().

## ◆ using_struct_return()

int using_struct_return | ( | struct gdbarch * | gdbarch,
|  | struct value * | function,
|  | struct type * | value_type
| ) |  |

Definition at line 3823 of file value.c.

References RETURN_VALUE_REGISTER_CONVENTION, struct_return_convention(), TYPE_CODE, TYPE_CODE_VOID, and value_type().

Referenced by call_function_by_hand_dummy(), evaluate_subexp_standard(), and sparc32_push_dummy_code().

## ◆ value_actual_type()

struct type* value_actual_type | ( | struct value * | value,
|  | int | resolve_simple_types,
|  | int * | real_type_found
| ) |  |

Definition at line 1183 of file value.c.

References check_typedef(), get_user_print_options(), value_print_options::objectprint, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_IS_REFERENCE, TYPE_TARGET_TYPE, value_enclosing_type(), value_optimized_out(), value_rtti_indirect_type(), and value_type().

Referenced by adjust_value_for_child_access(), create_child_with_value(), update_type_if_necessary(), and varobj_create().

## ◆ value_address()

CORE_ADDR value_address | ( | const struct value * | value | ) |

Definition at line 1529 of file value.c.

References value::address, gdb_assert, value::location, value::lval, lval_memory, value::offset, value::parent, PROP_CONST, TYPE_DATA_LOCATION, TYPE_DATA_LOCATION_ADDR, TYPE_DATA_LOCATION_KIND, value_address(), and value_type().

Referenced by ada_exception_message_1(), ada_tag_value_at_base_address(), ada_to_fixed_type_1(), ada_to_fixed_value(), ada_val_print_gnat_array(), ada_val_print_ref(), ada_value_assign(), ada_value_primitive_packed_val(), ada_value_print(), ada_value_struct_elt(), address_of_variable(), c_value_print(), call_function_by_hand_dummy(), call_site_to_target_addr(), can_use_hardware_watchpoint(), check_condition(), coerce_unspec_val_to_type(), common_val_print(), compare_value_and_voffset(), convert_one_symbol(), cp_print_static_field(), cp_print_value(), desc_bounds(), do_compile_dwarf_expr_to_c(), do_search_struct_field(), dump_value_to_file(), encode_actions_1(), eq_value_and_voffset(), evaluate_funcall(), evaluate_subexp_standard(), f77_print_array_1(), f_val_print(), find_function_addr(), find_method_list(), frame_register_unwind(), frame_unwind_register_value(), frv_push_dummy_call(), gdbscm_value_to_lazy_string(), gnuv2_value_rtti_type(), gnuv3_get_typeid(), gnuv3_rtti_type(), hash_value_and_voffset(), info_frame_command(), is_unique_ancestor(), locexpr_get_frame_base(), loclist_get_frame_base(), m32r_push_dummy_call(), mips_eabi_push_dummy_call(), mn10300_push_dummy_call(), msp430_push_dummy_call(), or1k_push_dummy_call(), pascal_object_print_static_field(), print_formatted(), print_one_vtable(), read_fat_string_value(), rust_evaluate_subexp(), search_struct_method(), thin_data_pntr(), unwrap_value(), update_watchpoint(), v850_push_dummy_call(), valpy_lazy_string(), value_addr(), value_address(), value_as_address(), value_assign(), value_assign_to_component(), value_cast(), value_cast_structs(), value_coerce_array(), value_coerce_function(), value_dynamic_cast(), value_fetch_lazy(), value_full_object(), value_pointer(), value_primitive_field(), value_print(), value_repeat(), value_struct_elt_for_reference(), value_subscripted_rvalue(), and x_command().

## ◆ value_as_address()

CORE_ADDR value_as_address | ( | struct value * | val | ) |

Definition at line 2762 of file value.c.

References coerce_array(), gdbarch_addr_bits_remove(), gdbarch_integer_to_address(), gdbarch_integer_to_address_p(), get_type_arch(), TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_METHOD, TYPE_CODE_PTR, TYPE_IS_REFERENCE, unpack_long(), value_address(), value_as_long(), value_contents(), and value_type().

Referenced by ada_evaluate_subexp(), ada_tag_name_from_tsd(), ada_value_slice_from_ptr(), ada_varobj_ind(), address_from_register(), c_get_string(), c_value_print(), call_site_to_target_addr(), default_read_var_value(), disassemble_command(), do_one_display(), dump_arc_instruction_command(), dwarf2_evaluate_loc_desc_full(), dwarf2_evaluate_property(), elf_gnu_ifunc_resolve_addr(), elf_gnu_ifunc_resolver_return_stop(), evaluate_subexp_standard(), find_function_addr(), gdbscm_value_to_bool(), gdbscm_value_to_integer(), gdbscm_value_to_lazy_string(), get_addr_from_python(), gnuv2_value_rtti_type(), gnuv3_get_typename_from_type_info(), gnuv3_get_virtual_fn(), gnuv3_get_vtable(), gnuv3_print_vtable(), gnuv3_rtti_type(), hppa_linux_find_global_pointer(), hppabsd_find_global_pointer(), i386_mpx_set_bounds(), info_mach_region_command(), insert_exception_resume_breakpoint(), insert_exception_resume_from_probe(), linespec_expression_to_pc(), linux_infcall_mmap(), parse_and_eval_address(), parse_find_args(), parse_frame_specification(), ppc64_sysv_abi_push_dummy_call(), print_one_vtable(), printf_c_string(), printf_wide_c_string(), process_event_stop_test(), ptid_from_atcb_common(), read_atcb(), read_known_tasks_list(), rust_get_trait_object_pointer(), rust_val_print_str(), svr4_handle_solib_event(), valpy_lazy_string(), value_equal(), value_ind(), value_less(), value_ptradd(), watch_command_1(), and x_command().

## ◆ value_as_long()

LONGEST value_as_long | ( | struct value * | val | ) |

Definition at line 2749 of file value.c.

References coerce_array(), unpack_long(), value_contents(), and value_type().

Referenced by ada_array_bound(), ada_array_length(), ada_evaluate_subexp(), ada_tag_value_at_base_address(), ada_type_of_array(), ada_value_binop(), ada_which_variant_applies(), dwarf_expr_context::add_piece(), aggregate_assign_from_choices(), allocate_space_in_inferior(), call_target_sbrk(), check_condition(), checkpoint_command(), desc_bounds(), dwarf2_evaluate_loc_desc_full(), ensure_lval(), evaluate_funcall(), evaluate_struct_tuple(), evaluate_subexp_modula2(), evaluate_subexp_standard(), dwarf_expr_context::execute_stack_op(), execute_stack_op(), find_func_descr(), find_function_addr(), gdbscm_value_subscript(), gdbscm_value_to_bool(), gdbscm_value_to_integer(), gdbscm_value_to_real(), gen_expr(), gen_repeat(), get_int_var_value(), get_internalvar_integer(), get_number_trailer(), gnuv2_virtual_fn_field(), gnuv3_baseclass_offset(), gnuv3_rtti_type(), ignore_command(), inferior_call_waitpid(), info_port_rights(), info_task(), init_array_element(), linespec_parse_variable(), linux_infcall_munmap(), lookup_child_selector(), lookup_objc_class(), m68hc11_frame_prev_register(), m88k_frame_prev_register(), mep_frame_prev_register(), mi_cmd_thread_select(), mi_cmd_trace_define_variable(), msp430_prev_register(), parse_and_eval_long(), parse_find_args(), parse_frame_specification(), pos_atr(), print_ada_task_info(), print_object_command(), printf_pointer(), ptid_from_atcb_common(), quit_command(), rank_one_type(), read_atcb(), read_fat_string_value(), rl78_prev_register(), rust_compute_range(), rust_evaluate_subexp(), rust_range(), rust_subscript(), rust_val_print_str(), s390_unwind_pseudo_register(), scalar_binop(), scan_discrim_bound(), set_internalvar_component(), task_command_1(), trace_variable_command(), ui_printf(), valpy_binop_throw(), valpy_getitem(), valpy_int(), valpy_long(), valpy_nonzero(), value_args_as_target_float(), value_as_address(), value_assign(), value_cast(), value_complement(), value_concat(), value_dynamic_cast(), value_equal(), value_f90_subarray(), value_in(), value_less(), value_ptrdiff(), value_struct_elt_for_reference(), value_val_atr(), and vlscm_binop().

## ◆ value_bitpos()

LONGEST value_bitpos | ( | const struct value * | value | ) |

Definition at line 1117 of file value.c.

References value::bitpos.

Referenced by ada_value_assign(), ada_value_primitive_packed_val(), check_pieced_synthetic_pointer(), coerce_unspec_val_to_type(), indirect_pieced_value(), rw_pieced_value(), update_watchpoint(), value_assign(), value_assign_to_component(), value_fetch_lazy(), and watch_command_1().

## ◆ value_bits_any_optimized_out()

int value_bits_any_optimized_out | ( | const struct value * | value,
|  | int | bit_offset,
|  | int | bit_length
| ) |  |

Definition at line 366 of file value.c.

References gdb_assert, value::lazy, and ranges_contain().

Referenced by c_val_print_array(), cp_print_value_fields_rtti(), dynamic_array_type(), unpack_value_field_as_long(), val_print_scalar_formatted(), valprint_check_validity(), and value_contents_copy_raw().

## ◆ value_bits_available()

int value_bits_available | ( | const struct value * | value,
|  | LONGEST | offset,
|  | LONGEST | length
| ) |  |

Definition at line 349 of file value.c.

References gdb_assert, value::lazy, offset, and ranges_contain().

Referenced by unpack_value_field_as_long(), and value_bytes_available().

## ◆ value_bits_synthetic_pointer()

int value_bits_synthetic_pointer | ( | const struct value * | value,
|  | LONGEST | offset,
|  | LONGEST | length
| ) |  |

Definition at line 1465 of file value.c.

References value::computed, value::location, value::lval, lval_computed, and offset.

Referenced by coerce_pieced_ref(), cp_print_value_fields(), generic_val_print_ref(), lval_func_check_synthetic_pointer(), pascal_object_print_value_fields(), valprint_check_validity(), and value_addr().

## ◆ value_bitsize()

LONGEST value_bitsize | ( | const struct value * | value | ) |

Definition at line 1128 of file value.c.

References value::bitsize.

Referenced by ada_value_assign(), check_pieced_synthetic_pointer(), coerce_unspec_val_to_type(), indirect_pieced_value(), rw_pieced_value(), update_watchpoint(), value_assign(), value_assign_to_component(), value_fetch_lazy(), and watch_command_1().

## ◆ value_bytes_available()

int value_bytes_available | ( | const struct value * | value,
|  | LONGEST | offset,
|  | LONGEST | length
| ) |  |

Definition at line 357 of file value.c.

References offset, TARGET_CHAR_BIT, and value_bits_available().

Referenced by c_val_print_array(), gdbpy_apply_val_pretty_printer(), gdbscm_apply_val_pretty_printer(), gnuv2_baseclass_offset(), list_arg_or_local(), val_print_scalar_formatted(), valprint_check_validity(), and value_contents_copy_raw().

## ◆ value_computed_closure()

void* value_computed_closure | ( | const struct value * | v | ) |

Definition at line 1509 of file value.c.

References value::computed, gdb_assert, value::location, value::lval, and lval_computed.

Referenced by check_pieced_synthetic_pointer(), coerce_pieced_ref(), copy_pieced_value_closure(), entry_data_value_coerce_ref(), entry_data_value_copy_closure(), entry_data_value_free_closure(), free_pieced_value_closure(), indirect_pieced_value(), lval_func_check_synthetic_pointer(), lval_func_copy_closure(), lval_func_free_closure(), lval_func_read(), lval_func_write(), and rw_pieced_value().

## ◆ value_computed_funcs()

const struct lval_funcs* value_computed_funcs | ( | const struct value * | v | ) |

Definition at line 1501 of file value.c.

References value::computed, gdb_assert, value::location, lval_computed, and value_lval_const().

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

## ◆ value_contents()

const gdb_byte* value_contents | ( | struct value * | value | ) |

Definition at line 1407 of file value.c.

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

Referenced by aarch64_push_dummy_call(), ada_convert_actual(), ada_val_print_num(), ada_value_assign(), ada_value_equal(), ada_value_primitive_field(), ada_value_primitive_packed_val(), alpha_push_dummy_call(), amd64_push_arguments(), amd64_windows_adjust_args_passed_by_pointer(), amd64_windows_push_arguments(), amd64_windows_store_arg_in_reg(), arc_push_dummy_call(), arm_push_dummy_call(), avr_push_dummy_call(), bfin_push_dummy_call(), BP_MANIPULATION(), c_get_string(), cast_into_complex(), coerce_ref(), create_value(), cris_push_dummy_call(), dump_value_to_file(), ensure_lval(), evaluate_struct_tuple(), evaluate_subexp_standard(), dwarf_expr_context::fetch_address(), frame_unwind_register_value(), frv_push_dummy_call(), gdbscm_value_to_bytevector(), gdbscm_value_to_real(), gnuv3_method_ptr_to_value(), h8300_push_dummy_call(), hppa32_push_dummy_call(), hppa64_push_dummy_call(), i387_print_float_info(), ia64_push_dummy_call(), indirect_pieced_value(), init_array_element(), iq2000_push_dummy_call(), is_floating_value(), lval_func_read(), lval_func_write(), m32c_push_dummy_call(), m32r_push_dummy_call(), m68hc11_push_dummy_call(), m88k_store_arguments(), mep_push_dummy_call(), mips_eabi_push_dummy_call(), mips_n32n64_push_dummy_call(), mips_o32_push_dummy_call(), mips_o64_push_dummy_call(), mn10300_push_dummy_call(), mt_push_dummy_call(), nds32_push_dummy_call(), nios2_push_dummy_call(), or1k_push_dummy_call(), parse_find_args(), pass_in_v_or_stack(), pass_in_x(), pass_on_stack(), ppc64_sysv_abi_push_dummy_call(), ppc_sysv_abi_push_dummy_call(), print_fixed_point_type(), printf_floating(), push_large_arguments(), pyuw_sniffer(), pyuw_value_obj_to_pointer(), read_frame_register_unsigned(), return_command(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), rust_evaluate_subexp(), rw_pieced_value(), s390_handle_arg(), score_push_dummy_call(), set_internalvar_component(), sh64_push_dummy_call(), sh_justify_value_in_reg(), sparc32_store_arguments(), sparc64_store_arguments(), spu_push_dummy_call(), store_regs(), tic6x_push_dummy_call(), tilegx_push_dummy_call(), to_fixed_variant_branch_type(), ui_printf(), v850_push_dummy_call(), valpy_float(), valpy_nonzero(), value_args_as_target_float(), value_as_address(), value_as_long(), value_as_string(), value_assign(), value_assign_to_component(), value_cast(), value_coerce_to_target(), value_concat(), value_equal(), value_equal_contents(), value_fetch_lazy(), value_in(), value_literal_complex(), value_logical_not(), value_pos(), value_primitive_field(), value_strcmp(), xstormy16_push_dummy_call(), and xtensa_push_dummy_call().

## ◆ value_contents_all()

const gdb_byte* value_contents_all | ( | struct value * | value | ) |

Definition at line 1265 of file value.c.

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

Referenced by ada_promote_array_of_integrals(), alpha_register_to_value(), regcache::dump(), dwarf2_evaluate_loc_desc_full(), evaluate_subexp_opencl(), dwarf_expr_context::execute_stack_op(), find_thread_by_handle(), frame_register_unwind(), frame_unwind_register_signed(), frame_unwind_register_unsigned(), get_frame_register_bytes(), hppa_frame_prev_register_helper(), i386_darwin_push_dummy_call(), i386_push_dummy_call(), ia64_frame_prev_register(), info_frame_command(), m68k_push_dummy_call(), msp430_push_dummy_call(), print_gp_register_row(), rl78_push_dummy_call(), rw_pieced_value(), rx_frame_prev_register(), rx_push_dummy_call(), value_complement(), value_neg(), value_non_lval(), value_one(), value_vector_widen(), vax_store_arguments(), and vector_binop().

## ◆ value_contents_all_raw()

gdb_byte* value_contents_all_raw | ( | struct value * | value | ) |

Definition at line 1168 of file value.c.

References allocate_value_contents(), and value::contents.

Referenced by siginfo_value_read(), siginfo_value_write(), value_contents_copy_raw(), value_copy(), value_fetch_lazy(), value_non_lval(), and value_repeat().

## ◆ value_contents_bits_eq()

static bool value_contents_bits_eq | ( | const struct value * | val1,
|  | int | offset1,
|  | const struct value * | val2,
|  | int | offset2,
|  | int | length
| ) |  |
| static

Definition at line 812 of file value.c.

References value::contents, value::enclosing_type, find_first_range_overlap_and_match(), gdb_assert, value::lazy, memcmp_with_bit_offsets(), memset(), offset1, TARGET_CHAR_BIT, and TYPE_LENGTH.

Referenced by value_contents_eq().

## ◆ value_contents_copy()

void value_contents_copy | ( | struct value * | dst,
|  | LONGEST | dst_offset,
|  | struct value * | src,
|  | LONGEST | src_offset,
|  | LONGEST | length
| ) |  |

Definition at line 1373 of file value.c.

References value::lazy, value_contents_copy_raw(), and value_fetch_lazy().

Referenced by dwarf2_evaluate_loc_desc_full(), read_frame_register_value(), value_array(), value_fetch_lazy(), value_from_component(), and value_slice().

## ◆ value_contents_copy_raw()

void value_contents_copy_raw | ( | struct value * | dst,
|  | LONGEST | dst_offset,
|  | struct value * | src,
|  | LONGEST | src_offset,
|  | LONGEST | length
| ) |  |

Definition at line 1326 of file value.c.

References gdb_assert, gdbarch_addressable_memory_unit_size(), get_value_arch(), HOST_CHAR_BIT, value::lazy, TARGET_CHAR_BIT, value_bits_any_optimized_out(), value_bytes_available(), value_contents_all_raw(), and value_ranges_copy_adjusted().

Referenced by coerce_unspec_val_to_type(), value_contents_copy(), and value_primitive_field().

## ◆ value_contents_eq()

bool value_contents_eq | ( | const struct value * | val1,
|  | LONGEST | offset1,
|  | const struct value * | val2,
|  | LONGEST | offset2,
|  | LONGEST | length
| ) |  |

Definition at line 874 of file value.c.

References offset1, TARGET_CHAR_BIT, and value_contents_bits_eq().

Referenced by read_frame_arg(), register_changed_p(), val_print_array_elements(), and val_print_packed_array_elements().

## ◆ value_contents_for_printing()

const gdb_byte* value_contents_for_printing | ( | struct value * | value | ) |

Definition at line 1250 of file value.c.

References value::contents, value::lazy, and value_fetch_lazy().

Referenced by ada_val_print_1(), c_val_print(), cp_print_value(), cp_print_value_fields(), default_print_one_register_info(), do_search_struct_field(), dynamic_array_type(), extract_bitfield_from_watchpoint_value(), f77_print_array_1(), f_val_print(), find_method_list(), gdbpy_apply_val_pretty_printer(), gdbscm_apply_val_pretty_printer(), generic_val_print_bool(), generic_val_print_char(), generic_val_print_complex(), generic_val_print_enum(), generic_val_print_flags(), generic_val_print_float(), generic_val_print_ptr(), generic_val_print_ref(), is_unique_ancestor(), m2_print_unbounded_array(), m2_val_print(), pascal_object_print_static_field(), pascal_val_print(), print_go_string(), rust_val_print(), search_struct_method(), val_print_scalar_formatted(), value_contents_all(), value_dynamic_cast(), and value_fetch_lazy().

## ◆ value_contents_for_printing_const()

const gdb_byte* value_contents_for_printing_const | ( | const struct value * | value | ) |

Definition at line 1258 of file value.c.

References value::contents, gdb_assert, and value::lazy.

Referenced by f77_print_array_1(), and get_value_addr_contents().

## ◆ value_contents_raw()

gdb_byte* value_contents_raw | ( | struct value * | value | ) |

Definition at line 1158 of file value.c.

References allocate_value_contents(), value::contents, value::embedded_offset, gdbarch_addressable_memory_unit_size(), and get_value_arch().

Referenced by aarch64_pseudo_read_value(), ada_convert_actual(), ada_value_assign(), ada_value_binop(), amd64_pseudo_register_read_value(), cast_into_complex(), convert_value_from_python(), regcache::cooked_read(), regcache::cooked_read_value(), default_read_var_value(), do_search_struct_field(), dwarf2_evaluate_loc_desc_full(), elf_gnu_ifunc_resolver_return_stop(), evaluate_subexp_c(), evaluate_subexp_standard(), frame_unwind_got_bytes(), gdbscm_value_to_real(), get_call_return_value(), get_return_value(), i386_pseudo_register_read_into_value(), init_array_element(), lval_func_read(), put_frame_register_bytes(), rw_pieced_value(), scalar_binop(), sdata_make_value(), tlb_value_read(), unpack_value_bitfield(), value_assign(), value_cast(), value_contents_writeable(), value_cstring(), value_force_lval(), value_from_contents(), value_from_longest(), value_from_pointer(), value_from_register(), value_from_ulongest(), value_literal_complex(), value_of_builtin_frame_fp_reg(), value_of_builtin_frame_pc_reg(), value_of_dwarf_reg_entry(), value_string(), vlscm_convert_number(), and vlscm_convert_typed_number().

## ◆ value_contents_writeable()

gdb_byte* value_contents_writeable | ( | struct value * | value | ) |

Definition at line 1416 of file value.c.

References value::lazy, value_contents_raw(), and value_fetch_lazy().

Referenced by ada_promote_array_of_integrals(), ada_value_primitive_packed_val(), create_value(), dummy_frame_prev_register(), dwarf2_compute_name(), evaluate_struct_tuple(), evaluate_subexp_opencl(), frame_unwind_got_address(), frame_unwind_got_constant(), lval_func_write(), make_array_descriptor(), opencl_logical_not(), put_frame_register_bytes(), set_internalvar_component(), value_assign_to_component(), value_cast(), value_complement(), value_contents(), value_neg(), value_one(), value_struct_elt_for_reference(), value_vector_widen(), vector_binop(), and vector_relop().

## ◆ value_copy()

struct value* value_copy | ( | struct value * | arg | ) |

Definition at line 1757 of file value.c.

References allocate_value(), allocate_value_lazy(), value::bitpos, value::bitsize, value::computed, lval_funcs::copy_closure, value::embedded_offset, value::lazy, value::location, lval_computed, value::modifiable, value::offset, value::parent, value::pointed_to_offset, set_value_parent(), value::type, TYPE_LENGTH, value_contents_all_raw(), value_embedded_offset(), value_enclosing_type(), value_lazy(), VALUE_LVAL, and VEC_copy.

Referenced by access_value_history(), ada_coerce_to_simple_array_ptr(), ada_value_assign(), ada_value_ptr_subscript(), bpstats::bpstats(), convert_value_from_python(), do_search_struct_field(), gdbpy_get_varobj_pretty_printer(), make_cv_value(), set_internalvar(), thin_data_pntr(), value_addr(), value_assign(), value_cast(), value_cast_pointers(), value_full_object(), value_of_internalvar(), and vlscm_convert_typed_value_from_scheme().

## ◆ value_embedded_offset()

LONGEST value_embedded_offset | ( | const struct value * | value | ) |

Definition at line 1477 of file value.c.

References value::embedded_offset.

Referenced by ada_val_print_gnat_array(), ada_val_print_num(), ada_val_print_ref(), ada_value_print(), c_value_print(), coerce_pieced_ref(), common_val_print(), compare_value_and_voffset(), cp_print_static_field(), default_print_one_register_info(), do_search_struct_field(), dynamic_array_type(), eq_value_and_voffset(), evaluate_funcall(), f77_print_array_1(), f_val_print(), gnuv3_get_typeid(), gnuv3_rtti_type(), hash_value_and_voffset(), is_unique_ancestor(), list_arg_or_local(), m2_print_unbounded_array(), mips_print_register(), output_register(), pascal_object_print_static_field(), print_field_values(), print_formatted(), print_one_vtable(), rust_evaluate_subexp(), val_print_packed_array_elements(), value_addr(), value_cast_structs(), value_copy(), value_dynamic_cast(), value_fetch_lazy(), value_from_component(), value_full_object(), value_non_lval(), value_primitive_field(), and value_print().

## ◆ value_enclosing_type()

struct type* value_enclosing_type | ( | const struct value * | value | ) |

Definition at line 1175 of file value.c.

References value::enclosing_type.

Referenced by ada_array_bound(), ada_array_length(), ada_value_print(), ada_value_ptr_subscript(), bfin_push_dummy_call(), c_value_print(), coerce_ref(), cp_print_static_field(), do_search_struct_field(), gnuv3_rtti_type(), i386_darwin_push_dummy_call(), i386_push_dummy_call(), m68k_push_dummy_call(), make_cv_value(), rl78_push_dummy_call(), rw_pieced_value(), set_value_enclosing_type(), tilegx_push_dummy_call(), value_actual_type(), value_addr(), value_array(), value_assign(), value_copy(), value_entirely_covered_by_range_vector(), value_fetch_lazy(), value_full_object(), value_ind(), value_non_lval(), value_primitive_field(), value_repeat(), vax_store_arguments(), and xstormy16_push_dummy_call().

## ◆ value_entirely_available()

int value_entirely_available | ( | struct value * | value | ) |

Definition at line 374 of file value.c.

References value::lazy, value_fetch_lazy(), and VEC_empty.

Referenced by alpha_register_to_value(), c_value_print(), regcache::cooked_read(), default_print_one_register_info(), regcache::dump(), frame_register_unwind(), frame_unwind_register_signed(), frame_unwind_register_unsigned(), get_frame_register_bytes(), i387_print_float_info(), info_frame_command(), output_register(), print_gp_register_row(), read_frame_register_unsigned(), sh64_do_register(), and store_regs().

## ◆ value_entirely_covered_by_range_vector()

static int value_entirely_covered_by_range_vector | ( | struct value * | value,
|  | VEC(range_s) ** | ranges
| ) |  |
| static

Definition at line 391 of file value.c.

References value::lazy, range::length, range::offset, TARGET_CHAR_BIT, TYPE_LENGTH, value_enclosing_type(), value_fetch_lazy(), VEC_index, and VEC_length.

Referenced by value_entirely_optimized_out(), and value_entirely_unavailable().

## ◆ value_entirely_optimized_out()

int value_entirely_optimized_out | ( | struct value * | value | ) |

Definition at line 419 of file value.c.

References value_entirely_covered_by_range_vector().

Referenced by cp_print_static_field(), pascal_object_print_static_field(), and value_check_printable().

## ◆ value_entirely_unavailable()

int value_entirely_unavailable | ( | struct value * | value | ) |

Definition at line 413 of file value.c.

References value_entirely_covered_by_range_vector().

Referenced by list_arg_or_local(), and value_check_printable().

## ◆ value_fetch_lazy()

void value_fetch_lazy | ( | struct value * | val | ) |

Definition at line 3860 of file value.c.

References _, allocate_value_contents(), check_typedef(), fprintf_unfiltered(), frame_debug, frame_find_by_id(), frame_id_eq(), frame_relative_level(), frame_unwind_register_value(), gdb_assert, gdb_stdlog, gdbarch_convert_register_p(), get_frame_arch(), internal_error(), lval_computed, lval_memory, lval_register, paddress(), value::parent, read(), lval_funcs::read, read_value_memory(), register_size(), regnum, set_value_lazy(), TYPE_LENGTH, type_length_units(), unpack_value_bitfield(), user_reg_map_regnum_to_name(), val_print_optimized_out(), value_address(), value_bitpos(), value_bitsize(), value_computed_funcs(), value_contents(), value_contents_all_raw(), value_contents_copy(), value_contents_for_printing(), value_embedded_offset(), value_enclosing_type(), value_fetch_lazy(), VALUE_FRAME_ID, value_free_to_mark(), value_lazy(), VALUE_LVAL, value_mark(), VALUE_NEXT_FRAME_ID, value_offset(), value_optimized_out(), value_parent(), VALUE_REGNUM, value_stack(), value_type(), and VEC_empty.

Referenced by ada_evaluate_subexp_for_cast(), ada_val_print_ref(), common_val_print(), evaluate_subexp_for_cast(), fetch_subexp_value(), gdbscm_value_fetch_lazy_x(), get_value_at(), gnuv2_virtual_fn_field(), install_new_value(), read_frame_arg(), record_latest_value(), return_command(), set_internalvar(), valpy_fetch_lazy(), value_contents_copy(), value_contents_for_printing(), value_contents_writeable(), value_entirely_available(), value_entirely_covered_by_range_vector(), value_fetch_lazy(), value_of_internalvar(), value_of_register(), value_optimized_out(), and value_primitive_field().

## ◆ value_field()

struct value* value_field | ( | struct value * | arg1,
|  | int | fieldno
| ) |  |

Definition at line 3152 of file value.c.

References value_primitive_field(), and value_type().

Referenced by ada_varobj_struct_elt(), compute_vtable_size(), f_val_print(), gnuv2_value_rtti_type(), gnuv2_virtual_fn_field(), gnuv3_baseclass_offset(), gnuv3_get_typeid(), gnuv3_get_virtual_fn(), gnuv3_rtti_type(), print_one_vtable(), ptid_from_atcb_common(), read_atcb(), read_fat_string_value(), read_known_tasks_list(), rust_compute_range(), rust_get_trait_object_pointer(), and rust_subscript().

## ◆ value_field_bitfield()

struct value* value_field_bitfield | ( | struct type * | type,
|  | int | fieldno,
|  | const gdb_byte * | valaddr,
|  | LONGEST | embedded_offset,
|  | const struct value * | val
| ) |  |

Definition at line 3381 of file value.c.

References allocate_value(), value::bitpos, value::bitsize, value::embedded_offset, TYPE_FIELD_BITPOS, TYPE_FIELD_BITSIZE, TYPE_FIELD_TYPE, and unpack_value_bitfield().

Referenced by cp_print_value_fields(), and pascal_object_print_value_fields().

## ◆ value_fn_field()

struct value* value_fn_field | ( | struct value ** | arg1p,
|  | struct fn_field * | f,
|  | int | j,
|  | struct type * | type,
|  | LONGEST | offset
| ) |  |

Definition at line 3165 of file value.c.

References allocate_value(), BLOCK_START, BMSYMBOL_VALUE_ADDRESS, current_target, gdb_assert, gdbarch_convert_from_func_ptr_addr(), get_objfile_arch(), lookup_bound_minimal_symbol(), lookup_pointer_type(), lookup_symbol(), lval_memory, memset(), bound_minimal_symbol::minsym, bound_minimal_symbol::objfile, set_value_address(), block_symbol::symbol, SYMBOL_BLOCK_VALUE, TYPE_FN_FIELD_PHYSNAME, TYPE_FN_FIELD_TYPE, value_addr(), value_cast(), value_ind(), VALUE_LVAL, value_type(), and VAR_DOMAIN.

Referenced by find_overload_match(), and search_struct_method().

## ◆ value_force_lval()

void value_force_lval | ( | struct value * | v,
|  | CORE_ADDR | addr
| ) |  |

Definition at line 1839 of file value.c.

References value::address, gdb_assert, value::location, value::lval, lval_memory, not_lval, TYPE_LENGTH, value_contents_raw(), VALUE_LVAL, value_type(), and write_memory().

Referenced by get_call_return_value().

## ◆ value_free()

void value_free | ( | struct value * | val | ) |

Definition at line 1608 of file value.c.

References value::computed, value::contents, lval_funcs::free_closure, free_xmethod_worker(), gdb_assert, value::location, lval_computed, lval_xcallable, value::parent, value::reference_count, value_free(), VALUE_LVAL, VEC_free, xfree(), and value::xm_worker.

Referenced by address_from_register(), alpha_register_to_value(), bpstat_clear_actions(), breakpoint_init_inferior(), clear_internalvar(), do_examine(), regcache::dump(), dwarf2_compute_name(), entry_data_value_free_closure(), frame_register_unwind(), frame_unwind_register_signed(), frame_unwind_register_unsigned(), free_all_values(), free_pieced_value_closure(), free_value_chain(), get_frame_register_bytes(), info_frame_command(), install_new_value(), invalidate_bp_value_on_memory_change(), lval_func_free_closure(), m68hc11_frame_prev_register(), m88k_frame_prev_register(), mep_frame_prev_register(), value_deleter::operator()(), put_frame_register_bytes(), register_changed_p(), set_value_parent(), update_watchpoint(), valpy_dealloc(), value_free(), value_free_to_mark(), varobj_clear_saved_item(), vlscm_free_value_smob(), bpstats::~bpstats(), varobj::~varobj(), and watchpoint::~watchpoint().

## ◆ value_free_to_mark()

void value_free_to_mark | ( | const struct value * | mark | ) |

Definition at line 1641 of file value.c.

References all_values, value::next, value::released, and value_free().

Referenced by ada_template_to_fixed_record_type_1(), ada_val_print_gnat_array(), assign_component(), bpstat_check_breakpoint_conditions(), breakpoint_cond_eval(), regcache::cooked_read(), do_value_free_to_mark(), execute_control_command_1(), scoped_value_mark::free_to_mark(), handle_inferior_event(), info_port_rights(), lval_func_write(), should_stop_exception(), to_record_with_fixed_variant_part(), val_print_packed_array_elements(), value_fetch_lazy(), vector_binop(), watch_command_1(), and watchpoint_check().

## ◆ value_from_component()

struct value* value_from_component | ( | struct value * | whole,
|  | struct type * | type,
|  | LONGEST | offset
| ) |  |

Definition at line 3699 of file value.c.

References allocate_value(), allocate_value_lazy(), lval_memory, offset, value::offset, set_value_component_location(), type_length_units(), value_contents_copy(), value_embedded_offset(), value_lazy(), VALUE_LVAL, and value_offset().

Referenced by gdbpy_apply_val_pretty_printer(), gdbscm_apply_val_pretty_printer(), and value_subscripted_rvalue().

## ◆ value_from_contents()

struct value* value_from_contents | ( | struct type * | type,
|  | const gdb_byte * | contents
| ) |  |

Definition at line 3623 of file value.c.

References allocate_value(), value::contents, TYPE_LENGTH, and value_contents_raw().

Referenced by ada_val_print_num(), dwarf2_evaluate_property(), evaluate_subexp_standard(), dwarf_expr_context::execute_stack_op(), fetch_const_value_from_synthetic_pointer(), print_subexp_standard(), printf_floating(), value_from_contents_and_address(), value_from_contents_and_address_unresolved(), value_pos(), and vlscm_convert_bytevector().

## ◆ value_from_contents_and_address()

struct value* value_from_contents_and_address | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | CORE_ADDR | address
| ) |  |

Definition at line 3599 of file value.c.

References value::address, allocate_value_lazy(), check_typedef(), lval_memory, PROP_CONST, resolve_dynamic_type(), set_value_address(), TYPE_DATA_LOCATION, TYPE_DATA_LOCATION_ADDR, TYPE_DATA_LOCATION_KIND, value_from_contents(), and VALUE_LVAL.

Referenced by ada_tag_value_at_base_address(), ada_to_fixed_type_1(), ada_to_fixed_value_create(), ada_val_print_gnat_array(), ada_val_print_num(), ada_val_print_ptr(), amd64_windows_adjust_args_passed_by_pointer(), cp_print_value(), cp_print_value_fields_rtti(), dwarf_expr_context::execute_stack_op(), f77_print_array_1(), gdbscm_make_lazy_value(), get_call_return_value(), get_value_at(), read_atcb(), read_known_tasks_list(), search_struct_method(), to_record_with_fixed_variant_part(), and value_tag_from_contents_and_address().

## ◆ value_from_contents_and_address_unresolved()

struct value* value_from_contents_and_address_unresolved | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | CORE_ADDR | address
| ) |  |

Definition at line 3578 of file value.c.

References value::address, allocate_value_lazy(), lval_memory, set_value_address(), value_from_contents(), and VALUE_LVAL.

Referenced by ada_template_to_fixed_record_type_1(), and ada_which_variant_applies().

## ◆ value_from_history_ref()

struct value* value_from_history_ref | ( | const char * | h,
|  | const char ** | endp
| ) |  |

Definition at line 3637 of file value.c.

References access_value_history().

Referenced by get_number_trailer().

## ◆ value_from_longest()

struct value* value_from_longest | ( | struct type * | type,
|  | LONGEST | num
| ) |  |

Definition at line 3534 of file value.c.

References allocate_value(), pack_long(), and value_contents_raw().

Referenced by ada_array_length(), ada_delta(), ada_evaluate_subexp(), ada_scaling_factor(), ada_value_ptr_subscript(), ada_varobj_simple_array_elt(), assign_component(), call_target_sbrk(), checkpoint_command(), compute_probe_arg(), const_expr(), const_var_ref(), convert_value_from_python(), desc_bounds(), dwarf2_compute_name(), elf_gnu_ifunc_resolve_addr(), enum_constant_from_type(), eval_skip_value(), evaluate_funcall(), evaluate_subexp_c(), evaluate_subexp_for_sizeof(), evaluate_subexp_modula2(), evaluate_subexp_opencl(), evaluate_subexp_standard(), gdbscm_value_to_real(), inferior_call_waitpid(), inferior_id_make_value(), isvoid_internal_fn(), linux_infcall_mmap(), maybe_print_array_index(), opencl_logical_not(), opencl_relop(), print_scalar_formatted(), print_subexp_standard(), rust_evaluate_subexp(), rust_range(), rust_subscript(), s390_unwind_pseudo_register(), thin_data_pntr(), thread_num_make_value_helper(), valpy_binop_throw(), value_allocate_space_in_inferior(), value_assign(), value_cast(), value_complement(), value_neg(), value_nsstring(), value_of_internalvar(), value_one(), value_pos_atr(), value_struct_elt_for_reference(), value_val_atr(), value_x_unop(), vlscm_binop(), vlscm_convert_number(), vlscm_convert_typed_number(), vlscm_convert_typed_value_from_scheme(), and vlscm_unop().

## ◆ value_from_pointer()

struct value* value_from_pointer | ( | struct type * | type,
|  | CORE_ADDR | addr
| ) |  |

Definition at line 3560 of file value.c.

References allocate_value(), check_typedef(), store_typed_address(), and value_contents_raw().

Referenced by aarch64_push_dummy_call(), ada_val_print_ref(), address_of_variable(), alpha_push_dummy_call(), c_value_print(), call_function_by_hand_dummy(), compile_object_run(), const_var_ref(), do_module_cleanup(), dwarf2_evaluate_loc_desc_full(), evaluate_funcall(), evaluate_subexp_standard(), find_command(), find_function_in_inferior(), flush_ea_cache(), gnuv3_method_ptr_to_value(), inferior_call_waitpid(), linux_infcall_mmap(), linux_infcall_munmap(), lsscm_safe_lazy_string_to_value(), s390_unwind_pseudo_register(), set_next_address(), sparc32_store_arguments(), sparc64_store_arguments(), stpy_convert_to_value(), value_addr(), value_coerce_array(), value_coerce_function(), value_ptradd(), value_struct_elt_for_reference(), and x_command().

## ◆ value_from_ulongest()

struct value* value_from_ulongest | ( | struct type * | type,
|  | ULONGEST | num
| ) |  |

Definition at line 3546 of file value.c.

References allocate_value(), pack_unsigned_long(), and value_contents_raw().

Referenced by convert_value_from_python(), dwarf_expr_context::execute_stack_op(), gdbscm_value_to_real(), linux_infcall_mmap(), linux_infcall_munmap(), dwarf_expr_context::push_address(), and value_cast().

## ◆ value_incref()

void value_incref | ( | struct value * | val | ) |

Definition at line 1598 of file value.c.

References value::reference_count.

Referenced by allocate_lval_closure(), allocate_piece_closure(), dwarf2_evaluate_loc_desc_full(), entry_data_value_coerce_ref(), entry_data_value_copy_closure(), install_new_value(), release_value_or_incref(), and set_value_parent().

## ◆ value_initialized()

int value_initialized | ( | const struct value * | val | ) |

Definition at line 3846 of file value.c.

References value::initialized.

Referenced by c_value_print().

## ◆ value_internal_function_name()

char* value_internal_function_name | ( | struct value * | val | ) |

Definition at line 2520 of file value.c.

References gdb_assert, get_internalvar_function(), lval_internalvar, internal_function::name, VALUE_INTERNALVAR, and VALUE_LVAL.

Referenced by value_check_printable().

## ◆ value_lazy()

int value_lazy | ( | const struct value * | value | ) |

Definition at line 1383 of file value.c.

References value::lazy.

Referenced by ada_evaluate_subexp_for_cast(), ada_val_print_ref(), ada_value_primitive_packed_val(), address_of_variable(), c_value_of_variable(), can_use_hardware_watchpoint(), coerce_unspec_val_to_type(), common_val_print(), evaluate_subexp_for_cast(), fetch_subexp_value(), frame_unwind_register_value(), gdbscm_value_fetch_lazy_x(), gdbscm_value_lazy_p(), gnuv2_virtual_fn_field(), install_new_value(), num_memory_accesses(), read_frame_arg(), record_latest_value(), return_command(), set_internalvar(), update_watchpoint(), valpy_fetch_lazy(), valpy_get_is_lazy(), value_copy(), value_fetch_lazy(), value_from_component(), value_of_internalvar(), value_primitive_field(), value_slice(), varobj_set_display_format(), varobj_set_value(), and x_command().

## ◆ value_lval_const()

enum lval_type value_lval_const | ( | const struct value * | value | ) |

Definition at line 1523 of file value.c.

References value::lval.

Referenced by coerce_ref_if_computed(), get_value_addr_contents(), gnuv3_get_typeid(), val_print_optimized_out(), valprint_check_validity(), and value_computed_funcs().

## ◆ value_mark()

struct value* value_mark | ( | void |  | ) |

Definition at line 1589 of file value.c.

References all_values.

Referenced by ada_template_to_fixed_record_type_1(), ada_val_print_gnat_array(), assign_component(), bpstat_check_breakpoint_conditions(), breakpoint_cond_eval(), regcache::cooked_read(), execute_control_command_1(), fetch_subexp_value(), gdbscm_make_lazy_value(), gdbscm_make_value(), gdbscm_parse_and_eval(), gdbscm_value_address(), gdbscm_value_call(), gdbscm_value_dereference(), gdbscm_value_dynamic_type(), gdbscm_value_field(), gdbscm_value_referenced_value(), gdbscm_value_subscript(), gdbscm_value_to_lazy_string(), handle_inferior_event(), info_port_rights(), lval_func_write(), should_stop_exception(), to_record_with_fixed_variant_part(), val_print_packed_array_elements(), value_fetch_lazy(), vector_binop(), vlscm_binop(), vlscm_do_cast(), vlscm_rich_compare(), vlscm_unop(), watch_command_1(), watchpoint_check(), and yyparse().

## ◆ value_next()

struct value* value_next | ( | const struct value * | value | ) |

Definition at line 1089 of file value.c.

References value::next.

Referenced by can_use_hardware_watchpoint(), free_value_chain(), num_memory_accesses(), and update_watchpoint().

## ◆ value_non_lval()

struct value* value_non_lval | ( | struct value * | arg | ) |

Definition at line 1819 of file value.c.

References allocate_value(), not_lval, set_value_embedded_offset(), set_value_pointed_to_offset(), value::type, TYPE_LENGTH, value_contents_all(), value_contents_all_raw(), value_embedded_offset(), value_enclosing_type(), VALUE_LVAL, and value_pointed_to_offset().

Referenced by evaluate_subexp(), and evaluate_subexp_standard().

## ◆ value_of_internalvar()

struct value* value_of_internalvar | ( | struct gdbarch * | gdbarch,
|  | struct internalvar * | var
| ) |  |

Definition at line 2227 of file value.c.

References _, allocate_value(), internalvar_data::data, find_trace_state_variable(), internalvar_data::functions, internalvar_data::integer, internal_error(), INTERNALVAR_FUNCTION, INTERNALVAR_INTEGER, INTERNALVAR_MAKE_VALUE, INTERNALVAR_STRING, INTERNALVAR_VALUE, INTERNALVAR_VOID, internalvar::kind, value::lval, lval_computed, lval_internalvar, internalvar_funcs::make_value, internalvar_data::make_value, internalvar::name, trace_state_variable::number, internalvar_data::string, target_get_trace_state_variable_value, internalvar_data::type, internalvar::u, internalvar_data::val, trace_state_variable::value, internalvar_data::value, value_copy(), value_cstring(), value_fetch_lazy(), value_from_longest(), VALUE_INTERNALVAR, trace_state_variable::value_known, value_lazy(), and VALUE_LVAL.

Referenced by evaluate_subexp_standard(), show_convenience(), value_assign(), and yyparse().

## ◆ value_of_xmethod()

struct value* value_of_xmethod | ( | struct xmethod_worker * | worker | ) |

Definition at line 2703 of file value.c.

References allocate_value(), value::location, value::lval, lval_xcallable, value::modifiable, target_gdbarch(), xmethod_worker::value, and value::xm_worker.

Referenced by find_overload_match().

## ◆ value_offset()

LONGEST value_offset | ( | const struct value * | value | ) |

Definition at line 1106 of file value.c.

References value::offset.

Referenced by check_pieced_synthetic_pointer(), extract_bitfield_from_watchpoint_value(), find_method_list(), gnuv2_virtual_fn_field(), indirect_pieced_value(), lval_func_read(), lval_func_write(), read_frame_register_value(), rw_pieced_value(), siginfo_value_read(), siginfo_value_write(), value_assign(), value_fetch_lazy(), value_from_component(), value_primitive_field(), and value_slice().

## ◆ value_optimized_out()

int value_optimized_out | ( | struct value * | value | ) |

Definition at line 1424 of file value.c.

References CATCH, END_CATCH, value::lazy, RETURN_MASK_ERROR, TRY, value_fetch_lazy(), and VEC_empty.

Referenced by address_from_register(), alpha_register_to_value(), default_print_one_register_info(), regcache::dump(), dwarf2_evaluate_loc_desc_full(), dwarf2_evaluate_property(), frame_register_unwind(), frame_unwind_register_signed(), frame_unwind_register_unsigned(), frame_unwind_register_value(), gdbscm_value_optimized_out_p(), get_frame_register_bytes(), info_frame_command(), insert_exception_resume_breakpoint(), print_gp_register_row(), read_frame_arg(), read_frame_register_unsigned(), s390_unwind_pseudo_register(), sh64_do_register(), store_regs(), valpy_get_is_optimized_out(), value_actual_type(), and value_fetch_lazy().

## ◆ value_parent()

struct value* value_parent | ( | const struct value * | value | ) |

Definition at line 1139 of file value.c.

References value::parent.

Referenced by rw_pieced_value(), value_assign(), and value_fetch_lazy().

## ◆ value_pointed_to_offset()

LONGEST value_pointed_to_offset | ( | const struct value * | value | ) |

Definition at line 1489 of file value.c.

References value::pointed_to_offset.

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

## ◆ value_primitive_field()

struct value* value_primitive_field | ( | struct value * | arg1,
|  | LONGEST | offset,
|  | int | fieldno,
|  | struct type * | arg_type
| ) |  |

Definition at line 3028 of file value.c.

References allocate_value(), allocate_value_lazy(), baseclass_offset(), BASETYPE_VIA_VIRTUAL, value::bitpos, value::bitsize, check_typedef(), value::embedded_offset, gdb_assert, gdbarch_addressable_memory_unit_size(), get_value_arch(), HOST_CHAR_BIT, lval_register, offset, value::offset, PROP_CONST, set_value_component_location(), set_value_parent(), type, value::type, TYPE_DATA_LOCATION, TYPE_DATA_LOCATION_KIND, TYPE_FIELD_BITPOS, TYPE_FIELD_BITSIZE, TYPE_FIELD_TYPE, TYPE_LENGTH, type_length_units(), TYPE_N_BASECLASSES, value_address(), value_contents(), value_contents_copy_raw(), value_embedded_offset(), value_enclosing_type(), value_fetch_lazy(), value_lazy(), VALUE_LVAL, and value_offset().

Referenced by aarch64_push_dummy_call(), ada_value_primitive_field(), do_search_struct_field(), gnuv2_virtual_fn_field(), rust_evaluate_subexp(), value_field(), value_struct_element_index(), and value_struct_elt_bitpos().

## ◆ value_ranges_copy_adjusted()

static void value_ranges_copy_adjusted | ( | struct value * | dst,
|  | int | dst_bit_offset,
|  | const struct value * | src,
|  | int | src_bit_offset,
|  | int | bit_length
| ) |  |
| static

Definition at line 1303 of file value.c.

References ranges_copy_adjusted().

Referenced by unpack_value_bitfield(), and value_contents_copy_raw().

## ◆ value_raw_address()

CORE_ADDR value_raw_address | ( | const struct value * | value | ) |

Definition at line 1545 of file value.c.

References value::address, value::location, value::lval, and lval_memory.

## ◆ value_release_to_mark()

struct value* value_release_to_mark | ( | const struct value * | mark | ) |

Definition at line 1733 of file value.c.

References all_values, value::next, and value::released.

Referenced by fetch_subexp_value(), and yyparse().

## ◆ value_stack()

int value_stack | ( | const struct value * | value | ) |

Definition at line 1395 of file value.c.

References value::stack.

Referenced by value_fetch_lazy(), and value_repeat().

## ◆ value_static_field()

struct value* value_static_field | ( | struct type * | type,
|  | int | fieldno
| ) |  |

Definition at line 2961 of file value.c.

References allocate_optimized_out_value(), block_symbol::block, BMSYMBOL_VALUE_ADDRESS, FIELD_LOC_KIND_PHYSADDR, FIELD_LOC_KIND_PHYSNAME, gdb_assert_not_reached, lookup_minimal_symbol(), lookup_symbol(), bound_minimal_symbol::minsym, block_symbol::symbol, TYPE_FIELD_LOC_KIND, TYPE_FIELD_STATIC_PHYSADDR, TYPE_FIELD_STATIC_PHYSNAME, TYPE_FIELD_TYPE, value_at_lazy(), value_of_variable(), and VAR_DOMAIN.

Referenced by cp_print_value_fields(), do_search_struct_field(), value_struct_element_index(), and value_struct_elt_for_reference().

## ◆ value_type()

struct type* value_type | ( | const struct value * | value | ) |

Definition at line 1095 of file value.c.

References value::type.

Referenced by aarch64_pseudo_read_value(), aarch64_push_dummy_call(), ada_args_match(), ada_array_bound(), ada_array_length(), ada_coerce_ref(), ada_coerce_to_simple_array(), ada_coerce_to_simple_array_ptr(), ada_convert_actual(), ada_evaluate_subexp(), ada_exception_message_1(), ada_get_decoded_value(), 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_to_fixed_type_1(), ada_to_fixed_value(), ada_type_of_array(), ada_val_print_gnat_array(), ada_val_print_num(), ada_val_print_ref(), ada_value_assign(), ada_value_binop(), ada_value_cast(), ada_value_equal(), ada_value_ind(), ada_value_is_changeable_p(), ada_value_ptr_subscript(), ada_value_slice(), ada_value_struct_elt(), ada_value_subscript(), ada_varobj_adjust_for_child_access(), ada_varobj_decode_var(), ada_varobj_ind(), ada_varobj_simple_array_elt(), ada_varobj_struct_elt(), address_of_variable(), aggregate_assign_from_choices(), alpha_push_dummy_call(), amd64_pseudo_register_read_value(), amd64_push_arguments(), amd64_windows_adjust_args_passed_by_pointer(), amd64_windows_push_arguments(), amd64_windows_store_arg_in_reg(), arc_push_dummy_call(), arm_push_dummy_call(), arm_return_value(), assign_aggregate(), assign_component(), avr_push_dummy_call(), bfin_push_dummy_call(), binop_promote(), binop_user_defined_p(), BP_MANIPULATION(), bpfinishpy_pre_stop_hook(), c_get_string(), c_value_print(), call_function_by_hand_dummy(), call_xmethod(), can_use_hardware_watchpoint(), cast_from_fixed(), cast_into_complex(), cast_to_fixed(), check_condition(), coerce_array(), coerce_for_assign(), coerce_pieced_ref(), coerce_ref(), coerce_ref_if_computed(), coerce_unspec_val_to_type(), common_val_print(), compute_vtable_size(), convert_value_from_python(), regcache::cooked_read_value(), cp_print_value(), cp_print_value_fields_rtti(), create_value(), cris_push_dummy_call(), decode_constrained_packed_array(), default_print_one_register_info(), desc_bounds(), desc_data(), do_search_struct_field(), dump_value_to_file(), dwarf2_evaluate_loc_desc_full(), dynamic_array_type(), elf_gnu_ifunc_resolver_return_stop(), ensure_lval(), entry_data_value_coerce_ref(), eval_call(), evaluate_funcall(), evaluate_struct_tuple(), evaluate_subexp_for_address(), evaluate_subexp_for_sizeof(), evaluate_subexp_modula2(), evaluate_subexp_opencl(), evaluate_subexp_standard(), dwarf_expr_context::execute_stack_op(), extract_bitfield_from_watchpoint_value(), f77_print_array_1(), f_val_print(), dwarf_expr_context::fetch_address(), find_function_addr(), find_oload_champ_namespace_loop(), find_overload_match(), find_thread_by_handle(), frame_register_unwind(), frv_push_dummy_call(), gdbarch_push_dummy_code(), gdbpy_get_xmethod_result_type(), gdbpy_invoke_xmethod(), 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_expr(), gen_repeat(), get_internalvar_integer(), get_number_trailer(), get_return_value(), get_value_arch(), 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(), gnuv3_virtual_fn_field(), h8300_push_dummy_call(), h8300_use_struct_convention(), h8300h_use_struct_convention(), hppa32_push_dummy_call(), hppa64_push_dummy_call(), i386_pseudo_register_read_into_value(), ia64_push_dummy_call(), indirect_pieced_value(), info_mach_region_command(), init_array_element(), install_new_value(), iq2000_push_dummy_call(), is_floating_value(), is_unique_ancestor(), isvoid_internal_fn(), linespec_parse_variable(), list_arg_or_local(), lval_func_check_synthetic_pointer(), lval_func_read(), lval_func_write(), m2_print_unbounded_array(), m32c_push_dummy_call(), m32r_push_dummy_call(), m68hc11_push_dummy_call(), m68k_push_dummy_call(), m88k_store_arguments(), maintenance_print_type(), make_array_descriptor(), make_cv_value(), mep_push_dummy_call(), mips_eabi_push_dummy_call(), mips_n32n64_push_dummy_call(), mips_o32_push_dummy_call(), mips_o64_push_dummy_call(), mips_print_register(), mn10300_push_dummy_call(), msp430_push_dummy_call(), mt_push_dummy_call(), nds32_push_dummy_call(), new_call_thread_fsm(), nios2_push_dummy_call(), opencl_component_ref(), opencl_logical_not(), opencl_relop(), opencl_value_cast(), or1k_push_dummy_call(), output_command_const(), output_register(), parse_expression_for_completion(), parse_find_args(), pascal_object_print_static_field(), pascal_value_print(), pos_atr(), possible_user_operator_p(), 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(), print_command_1(), print_fixed_point_type(), print_formatted(), print_frame_arg(), print_one_vtable(), print_value(), print_variable_or_computed(), printf_floating(), printf_wide_c_string(), push_dummy_code(), push_large_arguments(), py_print_single_arg(), py_print_type(), py_print_value(), pyuw_sniffer(), pyuw_value_obj_to_pointer(), rank_function(), rank_one_type(), read_atcb(), read_fat_string_value(), read_frame_arg(), read_frame_register_value(), resolve_subexp(), result_type_of_xmethod(), return_command(), rl78_push_dummy_call(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), rust_evaluate_funcall(), rust_evaluate_subexp(), rust_get_trait_object_pointer(), rust_range(), rust_subscript(), rust_val_print_str(), rw_pieced_value(), rx_push_dummy_call(), s390_handle_arg(), s390_push_dummy_call(), scalar_binop(), scan_discrim_bound(), score_push_dummy_call(), set_internalvar(), set_internalvar_component(), set_value_component_location(), sh64_push_dummy_call(), sh_push_dummy_call_fpu(), sh_push_dummy_call_nofpu(), sh_return_value_fpu(), sh_return_value_nofpu(), sh_stack_allocsize(), siginfo_value_read(), siginfo_value_write(), sparc32_push_dummy_code(), sparc32_store_arguments(), sparc64_store_arguments(), spu_push_dummy_call(), spu_return_value(), struct_return_convention(), thin_data_pntr(), tic6x_push_dummy_call(), tlb_value_read(), to_fixed_variant_branch_type(), to_record_with_fixed_variant_part(), typecmp(), ui_printf(), unop_promote(), unop_user_defined_p(), unpack_value_bitfield(), unwind_infopy_add_saved_register(), unwrap_value(), update_watchpoint(), using_struct_return(), v850_push_dummy_call(), val_print_packed_array_elements(), valpy_absolute(), valpy_binop_throw(), valpy_call(), valpy_float(), valpy_get_dynamic_type(), valpy_get_type(), valpy_getitem(), valpy_int(), valpy_lazy_string(), valpy_long(), valpy_nonzero(), valpy_referenced_value(), value_actual_type(), value_addr(), value_address(), value_arg_coerce(), value_args_as_target_float(), value_as_address(), value_as_long(), value_assign(), value_assign_to_component(), value_binop(), value_cast(), value_cast_pointers(), value_cast_structs(), 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_f90_subarray(), value_fetch_lazy(), value_field(), value_find_oload_method_list(), value_fn_field(), value_force_lval(), value_full_object(), value_has_field(), value_in(), value_ind(), value_less(), value_logical_not(), value_must_coerce_to_target(), value_neg(), value_of_root(), value_pos(), value_print(), value_ptradd(), value_ptrdiff(), value_ref(), value_reinterpret_cast(), value_rtti_indirect_type(), value_slice(), value_strcmp(), value_struct_element_index(), value_struct_elt(), value_struct_elt_bitpos(), value_struct_elt_for_reference(), value_subscript(), value_subscript_packed(), value_subscripted_rvalue(), value_val_atr(), value_vector_widen(), value_x_binop(), value_x_unop(), varobj_create(), varobj_get_value_type(), varobj_update(), varobj_value_get_print_value(), vector_binop(), vector_relop(), vlscm_binop(), vlscm_convert_number(), vlscm_convert_typed_number(), vlscm_unop(), watch_command_1(), whatis_exp(), x_command(), xtensa_push_dummy_call(), and yyparse().

## Variable Documentation

## ◆ all_values

struct value* all_values
| static

Definition at line 909 of file value.c.

Referenced by allocate_value_lazy(), free_all_values(), release_value(), value_free_to_mark(), value_mark(), and value_release_to_mark().

## ◆ functionlist

struct cmd_list_element* functionlist
| static

Definition at line 164 of file value.c.

Referenced by _initialize_values(), and add_internal_function().

## ◆ internalvars

struct internalvar* internalvars
| static

Definition at line 2084 of file value.c.

Referenced by complete_internalvar(), create_internalvar(), lookup_only_internalvar(), preserve_values(), and show_convenience().

## ◆ max_value_size

int max_value_size = 65536
| static

Definition at line 955 of file value.c.

Referenced by _initialize_values(), check_type_length_before_alloc(), set_max_value_size(), and show_max_value_size().

## ◆ value_history_chain

struct value_history_chunk* value_history_chain
| static

Definition at line 900 of file value.c.

Referenced by access_value_history(), preserve_values(), and record_latest_value().

## ◆ value_history_count

int value_history_count
| static

Definition at line 902 of file value.c.

Referenced by access_value_history(), record_latest_value(), and show_values().