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 gdbarchget_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 valueallocate_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 valueallocate_value (struct type *type)
 
struct valueallocate_repeat_value (struct type *type, int count)
 
struct valueallocate_computed_value (struct type *type, const struct lval_funcs *funcs, void *closure)
 
struct valueallocate_optimized_out_value (struct type *type)
 
struct valuevalue_next (const struct value *value)
 
struct typevalue_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 valuevalue_parent (const struct value *value)
 
void set_value_parent (struct value *value, struct value *parent)
 
gdb_bytevalue_contents_raw (struct value *value)
 
gdb_bytevalue_contents_all_raw (struct value *value)
 
struct typevalue_enclosing_type (const struct value *value)
 
struct typevalue_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_bytevalue_contents_for_printing (struct value *value)
 
const gdb_bytevalue_contents_for_printing_const (const struct value *value)
 
const gdb_bytevalue_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_bytevalue_contents (struct value *value)
 
gdb_bytevalue_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_funcsvalue_computed_funcs (const struct value *v)
 
void * value_computed_closure (const struct value *v)
 
enum lval_typedeprecated_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_iddeprecated_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 valuevalue_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 valuevalue_release_to_mark (const struct value *mark)
 
struct valuevalue_copy (struct value *arg)
 
struct valuemake_cv_value (int cnst, int voltl, struct value *v)
 
struct valuevalue_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 valueaccess_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 internalvarlookup_only_internalvar (const char *name)
 
void complete_internalvar (completion_tracker &tracker, const char *name)
 
struct internalvarcreate_internalvar (const char *name)
 
struct internalvarcreate_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 internalvarlookup_internalvar (const char *name)
 
struct valuevalue_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_functioncreate_internal_function (const char *name, internal_function_fn handler, void *cookie)
 
char * value_internal_function_name (struct value *val)
 
struct valuecall_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 valuevalue_of_xmethod (struct xmethod_worker *worker)
 
struct typeresult_type_of_xmethod (struct value *method, int argc, struct value **argv)
 
struct valuecall_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 valuevalue_static_field (struct type *type, int fieldno)
 
void set_value_enclosing_type (struct value *val, struct type *new_encl_type)
 
struct valuevalue_primitive_field (struct value *arg1, LONGEST offset, int fieldno, struct type *arg_type)
 
struct valuevalue_field (struct value *arg1, int fieldno)
 
struct valuevalue_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 valuevalue_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 valuevalue_from_longest (struct type *type, LONGEST num)
 
struct valuevalue_from_ulongest (struct type *type, ULONGEST num)
 
struct valuevalue_from_pointer (struct type *type, CORE_ADDR addr)
 
struct valuevalue_from_contents_and_address_unresolved (struct type *type, const gdb_byte *valaddr, CORE_ADDR address)
 
struct valuevalue_from_contents_and_address (struct type *type, const gdb_byte *valaddr, CORE_ADDR address)
 
struct valuevalue_from_contents (struct type *type, const gdb_byte *contents)
 
struct valuevalue_from_history_ref (const char *h, const char **endp)
 
struct valuevalue_from_component (struct value *whole, struct type *type, LONGEST offset)
 
struct valuecoerce_ref_if_computed (const struct value *arg)
 
struct valuereadjust_indirect_value_type (struct value *value, struct type *enc_type, const struct type *original_type, const struct value *original_value)
 
struct valuecoerce_ref (struct value *arg)
 
struct valuecoerce_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 valueisvoid_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_elementfunctionlist
 
static struct value_history_chunkvalue_history_chain
 
static int value_history_count
 
static struct valueall_values
 
static int max_value_size = 65536
 
static struct internalvarinternalvars
 

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

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  )

◆ access_value_history()

struct value* access_value_history ( int  num)

◆ add_internal_function()

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

◆ allocate_computed_value()

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

◆ allocate_optimized_out_value()

struct value* allocate_optimized_out_value ( struct type type)

◆ allocate_repeat_value()

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

◆ 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

◆ allocate_value_lazy()

struct value* allocate_value_lazy ( struct type type)

◆ call_internal_function()

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

◆ call_xmethod()

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

◆ 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)

◆ coerce_array()

struct value* coerce_array ( struct value arg)

◆ coerce_ref()

struct value* coerce_ref ( struct value arg)

◆ coerce_ref_if_computed()

struct value* coerce_ref_if_computed ( const struct value arg)

◆ compile_internalvar_to_ax()

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

◆ complete_internalvar()

void complete_internalvar ( completion_tracker tracker,
const char *  name 
)

◆ create_internal_function()

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

◆ create_internalvar()

struct internalvar* create_internalvar ( const char *  name)

◆ create_internalvar_type_lazy()

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

◆ DEF_VEC_O()

DEF_VEC_O ( range_s  )

◆ deprecated_set_value_type()

void deprecated_set_value_type ( struct value value,
struct type type 
)

◆ 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)

◆ 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

◆ get_internalvar_integer()

int get_internalvar_integer ( struct internalvar var,
LONGEST result 
)

◆ get_value_arch()

struct gdbarch* get_value_arch ( const struct value value)

◆ init_if_undefined_command()

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

◆ insert_into_bit_range_vector()

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

◆ 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)

◆ 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)

◆ lookup_only_internalvar()

struct internalvar* lookup_only_internalvar ( const char *  name)

◆ make_cv_value()

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

◆ 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 
)

◆ mark_value_bytes_optimized_out()

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

◆ mark_value_bytes_unavailable()

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

◆ 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 
)

◆ pack_long()

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

◆ pack_unsigned_long()

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

◆ preserve_one_internalvar()

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

◆ preserve_one_value()

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

◆ preserve_values()

void preserve_values ( struct 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

◆ 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

◆ 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 
)

◆ record_latest_value()

int record_latest_value ( struct value val)

◆ release_value()

void release_value ( struct value val)

◆ release_value_or_incref()

void release_value_or_incref ( struct value val)

◆ 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 
)

◆ set_internalvar()

void set_internalvar ( struct internalvar var,
struct value val 
)

◆ set_internalvar_component()

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

◆ set_internalvar_function()

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

◆ set_internalvar_integer()

void set_internalvar_integer ( struct internalvar var,
LONGEST  l 
)

◆ set_internalvar_string()

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

◆ 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 
)

◆ 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 
)

◆ set_value_embedded_offset()

void set_value_embedded_offset ( struct value value,
LONGEST  val 
)

◆ set_value_enclosing_type()

void set_value_enclosing_type ( struct value val,
struct type new_encl_type 
)

◆ 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 
)

◆ set_value_offset()

void set_value_offset ( struct value value,
LONGEST  offset 
)

◆ set_value_parent()

void set_value_parent ( struct value value,
struct value parent 
)

◆ set_value_pointed_to_offset()

void set_value_pointed_to_offset ( struct value value,
LONGEST  val 
)

◆ 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

◆ 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

◆ 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

◆ unpack_field_as_long()

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

◆ unpack_long()

LONGEST unpack_long ( struct type type,
const gdb_byte valaddr 
)

◆ unpack_pointer()

CORE_ADDR unpack_pointer ( struct type type,
const gdb_byte valaddr 
)

◆ 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 
)

◆ 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 
)

◆ using_struct_return()

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

◆ value_actual_type()

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

◆ 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)

◆ value_bits_any_optimized_out()

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

◆ 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 
)

◆ value_bitsize()

LONGEST value_bitsize ( const struct value value)

◆ value_bytes_available()

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

◆ value_computed_closure()

void* value_computed_closure ( const struct value v)

◆ value_computed_funcs()

const struct lval_funcs* value_computed_funcs ( const struct value v)

◆ 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)

◆ value_contents_all_raw()

gdb_byte* value_contents_all_raw ( struct value value)

◆ 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

◆ value_contents_copy()

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

◆ value_contents_copy_raw()

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

◆ value_contents_eq()

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

◆ value_contents_for_printing()

const gdb_byte* value_contents_for_printing ( struct value value)

◆ 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)

◆ value_contents_writeable()

gdb_byte* value_contents_writeable ( struct value value)

◆ value_copy()

struct value* value_copy ( struct value arg)

◆ value_embedded_offset()

LONGEST value_embedded_offset ( const struct value value)

◆ value_enclosing_type()

struct type* value_enclosing_type ( const struct value value)

◆ value_entirely_available()

int value_entirely_available ( struct value value)

◆ value_entirely_covered_by_range_vector()

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

◆ value_entirely_optimized_out()

int value_entirely_optimized_out ( struct value value)

◆ 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 
)

◆ value_field_bitfield()

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

◆ value_fn_field()

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

◆ value_force_lval()

void value_force_lval ( struct value v,
CORE_ADDR  addr 
)

◆ value_free()

void value_free ( struct value val)

◆ value_free_to_mark()

void value_free_to_mark ( const struct value mark)

◆ value_from_component()

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

◆ value_from_contents()

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

◆ value_from_contents_and_address()

struct value* value_from_contents_and_address ( struct type type,
const gdb_byte valaddr,
CORE_ADDR  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 
)

◆ 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 
)

◆ value_from_pointer()

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

◆ value_from_ulongest()

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

◆ value_incref()

void value_incref ( struct value val)

◆ 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)

◆ value_lazy()

int value_lazy ( const struct value value)

◆ value_lval_const()

enum lval_type value_lval_const ( const struct value value)

◆ value_mark()

struct value* value_mark ( void  )

◆ value_next()

struct value* value_next ( const struct value value)

◆ value_non_lval()

struct value* value_non_lval ( struct value arg)

◆ value_of_internalvar()

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

◆ value_of_xmethod()

struct value* value_of_xmethod ( struct xmethod_worker worker)

◆ value_offset()

LONGEST value_offset ( const struct value value)

◆ value_optimized_out()

int value_optimized_out ( struct value value)

◆ 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)

◆ value_primitive_field()

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

◆ 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 
)

◆ 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

◆ 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

◆ max_value_size

int max_value_size = 65536
static

◆ 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().