GDB (xrefs)
Classes | Defines | Typedefs | Functions | Variables
/home/stan/gdb/src/gdb/value.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include "gdb_string.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 "doublest.h"
#include "gdb_assert.h"
#include "regcache.h"
#include "block.h"
#include "dfp.h"
#include "objfiles.h"
#include "valprint.h"
#include "cli/cli-decode.h"
#include "exceptions.h"
#include "python/python.h"
#include <ctype.h>
#include "tracepoint.h"
#include "cp-abi.h"
#include "user-regs.h"

Go to the source code of this file.

Classes

struct  internal_function
struct  range
struct  value
struct  value_history_chunk
struct  internalvar
union  internalvar::internalvar_data

Defines

#define VALUE_HISTORY_CHUNK   60

Typedefs

typedef struct range range_s

Functions

void _initialize_values (void)
 DEF_VEC_O (range_s)
static int ranges_overlap (int offset1, int len1, int offset2, int len2)
static int range_lessthan (const range_s *r1, const range_s *r2)
static int ranges_contain (VEC(range_s)*ranges, int offset, int length)
int value_bytes_available (const struct value *value, int offset, int length)
int value_entirely_available (struct value *value)
int value_entirely_unavailable (struct value *value)
void mark_value_bytes_unavailable (struct value *value, int offset, int length)
static int find_first_range_overlap (VEC(range_s)*ranges, int pos, int offset, int length)
int value_available_contents_eq (const struct value *val1, int offset1, const struct value *val2, int offset2, int length)
static void show_values (char *, int)
static void show_convenience (char *, int)
struct valueallocate_value_lazy (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 (struct value *value)
struct typevalue_type (const struct value *value)
void deprecated_set_value_type (struct value *value, struct type *type)
int value_offset (const struct value *value)
void set_value_offset (struct value *value, int offset)
int value_bitpos (const struct value *value)
void set_value_bitpos (struct value *value, int bit)
int value_bitsize (const struct value *value)
void set_value_bitsize (struct value *value, int bit)
struct valuevalue_parent (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 (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)
void value_contents_copy_raw (struct value *dst, int dst_offset, struct value *src, int src_offset, int length)
void value_contents_copy (struct value *dst, int dst_offset, struct value *src, int src_offset, int length)
int value_lazy (struct value *value)
void set_value_lazy (struct value *value, int val)
int value_stack (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_contents_equal (struct value *val1, struct value *val2)
int value_optimized_out (struct value *value)
int value_optimized_out_const (const struct value *value)
void set_value_optimized_out (struct value *value, int val)
int value_entirely_optimized_out (const struct value *value)
int value_bits_valid (const struct value *value, int offset, int length)
int value_bits_synthetic_pointer (const struct value *value, int offset, int length)
int value_embedded_offset (struct value *value)
void set_value_embedded_offset (struct value *value, int val)
int value_pointed_to_offset (struct value *value)
void set_value_pointed_to_offset (struct value *value, int val)
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 (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_frame_id_hack (struct value *value)
short * deprecated_value_regnum_hack (struct value *value)
int deprecated_value_modifiable (struct value *value)
struct valuevalue_mark (void)
void value_incref (struct value *val)
void value_free (struct value *val)
void value_free_to_mark (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 (struct value *mark)
struct valuevalue_copy (struct value *arg)
struct valuevalue_non_lval (struct value *arg)
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 init_if_undefined_command (char *args, int from_tty)
struct internalvarlookup_only_internalvar (const char *name)
 VEC (char_ptr)
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, int offset, int bitpos, int 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 (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 (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)
LONGEST value_as_long (struct value *val)
DOUBLEST value_as_double (struct value *val)
CORE_ADDR value_as_address (struct value *val)
LONGEST unpack_long (struct type *type, const gdb_byte *valaddr)
DOUBLEST unpack_double (struct type *type, const gdb_byte *valaddr, int *invp)
CORE_ADDR unpack_pointer (struct type *type, const gdb_byte *valaddr)
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, int 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, int offset)
static int unpack_value_bits_as_long_1 (struct type *field_type, const gdb_byte *valaddr, int embedded_offset, int bitpos, int bitsize, const struct value *original_value, LONGEST *result)
int unpack_value_bits_as_long (struct type *field_type, const gdb_byte *valaddr, int embedded_offset, int bitpos, int bitsize, const struct value *original_value, LONGEST *result)
static int unpack_value_field_as_long_1 (struct type *type, const gdb_byte *valaddr, int embedded_offset, int fieldno, const struct value *val, LONGEST *result)
int unpack_value_field_as_long (struct type *type, const gdb_byte *valaddr, int embedded_offset, int fieldno, const struct value *val, LONGEST *result)
LONGEST unpack_field_as_long (struct type *type, const gdb_byte *valaddr, int fieldno)
struct valuevalue_field_bitfield (struct type *type, int fieldno, const gdb_byte *valaddr, int embedded_offset, const struct value *val)
void modify_field (struct type *type, gdb_byte *addr, LONGEST fieldval, int bitpos, int 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 (struct type *type, const gdb_byte *valaddr, CORE_ADDR address)
struct valuevalue_from_contents (struct type *type, const gdb_byte *contents)
struct valuevalue_from_double (struct type *type, DOUBLEST num)
struct valuevalue_from_decfloat (struct type *type, const gdb_byte *dec)
struct valuevalue_from_history_ref (char *h, char **endp)
struct valuecoerce_ref_if_computed (const struct value *arg)
struct valuereadjust_indirect_value_type (struct value *value, struct type *enc_type, struct type *original_type, 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 (struct value *val)
int 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)

Variables

static struct cmd_list_elementfunctionlist
static struct value_history_chunkvalue_history_chain
static int value_history_count
static struct valueall_values
static struct internalvarinternalvars

Define Documentation

#define VALUE_HISTORY_CHUNK   60

Definition at line 649 of file value.c.

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


Typedef Documentation

typedef struct range range_s

Definition at line 77 of file value.c.


Function Documentation

void _initialize_values ( void  )
struct value* access_value_history ( int  num) [read]
void add_internal_function ( const char *  name,
const char *  doc,
internal_function_fn  handler,
void *  cookie 
)
struct value* allocate_computed_value ( struct type type,
const struct lval_funcs funcs,
void *  closure 
) [read]
struct value* allocate_optimized_out_value ( struct type type) [read]
struct value* allocate_repeat_value ( struct type type,
int  count 
) [read]
struct value* allocate_value ( struct type type) [read]

Definition at line 725 of file value.c.

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

Referenced by aarch64_pseudo_read_value(), ada_convert_actual(), ada_promote_array_of_integrals(), ada_value_binop(), ada_value_primitive_packed_val(), allocate_repeat_value(), amd64_pseudo_register_read_value(), call_function_by_hand(), cast_into_complex(), coerce_unspec_val_to_type(), 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(), evaluate_subexp_c(), evaluate_subexp_opencl(), evaluate_subexp_standard(), get_return_value(), i386_pseudo_register_read_value(), java_value_print(), lval_func_write(), make_array_descriptor(), opencl_logical_not(), regcache_cooked_read_value(), 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_contents(), value_from_decfloat(), value_from_double(), value_from_longest(), value_from_pointer(), value_from_register(), value_from_ulongest(), value_literal_complex(), value_neg(), value_non_lval(), value_of_builtin_frame_fp_reg(), value_of_builtin_frame_pc_reg(), value_of_internalvar(), value_one(), value_pos(), value_primitive_field(), value_slice(), value_string(), value_subscripted_rvalue(), value_vector_widen(), value_zero(), vector_binop(), and vector_relop().

static void allocate_value_contents ( struct value val) [static]
struct value* allocate_value_lazy ( struct type type) [read]
struct value* call_internal_function ( struct gdbarch gdbarch,
const struct language_defn language,
struct value func,
int  argc,
struct value **  argv 
) [read]
void clear_internalvar ( struct internalvar var)
struct value* coerce_array ( struct value arg) [read]
struct value* coerce_ref ( struct value arg) [read]
struct value* coerce_ref_if_computed ( const struct value arg) [read]
int compile_internalvar_to_ax ( struct internalvar var,
struct agent_expr expr,
struct axs_value value 
)
static struct internal_function* create_internal_function ( const char *  name,
internal_function_fn  handler,
void *  cookie 
) [static, read]
struct internalvar* create_internalvar ( const char *  name) [read]
struct internalvar* create_internalvar_type_lazy ( const char *  name,
const struct internalvar_funcs funcs,
void *  data 
) [read]
void deprecated_set_value_type ( struct value value,
struct type type 
)
struct frame_id* deprecated_value_frame_id_hack ( struct value value) [read]

Definition at line 1236 of file value.c.

References value::frame_id.

struct internalvar** deprecated_value_internalvar_hack ( struct value value) [read]

Definition at line 1230 of file value.c.

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

enum lval_type* deprecated_value_lval_hack ( struct value value)

Definition at line 1189 of file value.c.

References value::lval.

int deprecated_value_modifiable ( struct value value)
short* deprecated_value_regnum_hack ( struct value value)

Definition at line 1242 of file value.c.

References value::regnum.

void error_value_optimized_out ( void  )

Definition at line 911 of file value.c.

References _, and error().

Referenced by address_from_register(), and require_not_optimized_out().

static int find_first_range_overlap ( VEC(range_s)*  ranges,
int  pos,
int  offset,
int  length 
) [static]

Definition at line 552 of file value.c.

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

Referenced by value_available_contents_eq().

void free_all_values ( void  )

Definition at line 1326 of file value.c.

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

void free_value_chain ( struct value v)

Definition at line 1344 of file value.c.

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

Referenced by check_condition().

static void function_command ( char *  command,
int  from_tty 
) [static]

Definition at line 2173 of file value.c.

Referenced by add_internal_function().

static void function_destroyer ( struct cmd_list_element self,
void *  ignore 
) [static]

Definition at line 2180 of file value.c.

References xfree().

Referenced by add_internal_function().

static int get_internalvar_function ( struct internalvar var,
struct internal_function **  result 
) [static]
int get_internalvar_integer ( struct internalvar var,
LONGEST result 
)
static void init_if_undefined_command ( char *  args,
int  from_tty 
) [static]
char* internalvar_name ( struct internalvar var)

Definition at line 2123 of file value.c.

References internalvar::name.

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

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

Definition at line 3606 of file value.c.

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

struct internalvar* lookup_internalvar ( const char *  name) [read]
struct internalvar* lookup_only_internalvar ( const char *  name) [read]
void mark_value_bytes_unavailable ( struct value value,
int  offset,
int  length 
)
void modify_field ( struct type type,
gdb_byte addr,
LONGEST  fieldval,
int  bitpos,
int  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 
) [static]
static void preserve_one_internalvar ( struct internalvar var,
struct objfile objfile,
htab_t  copied_types 
) [static]
void preserve_one_value ( struct value value,
struct objfile objfile,
htab_t  copied_types 
)
void preserve_values ( struct objfile objfile)
static int range_lessthan ( const range_s r1,
const range_s r2 
) [static]

Definition at line 101 of file value.c.

References range::offset.

Referenced by mark_value_bytes_unavailable(), and ranges_contain().

static int ranges_contain ( VEC(range_s)*  ranges,
int  offset,
int  length 
) [static]
static int ranges_overlap ( int  offset1,
int  len1,
int  offset2,
int  len2 
) [static]

Definition at line 85 of file value.c.

References max, min, and ULONGEST.

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

struct value* readjust_indirect_value_type ( struct value value,
struct type enc_type,
struct type original_type,
struct value original_value 
) [read]
int record_latest_value ( struct value val)
void release_value ( struct value val)
void release_value_or_incref ( struct value val)

Definition at line 1389 of file value.c.

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

static void require_available ( const struct value value) [static]

Definition at line 929 of file value.c.

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

Referenced by value_contents(), and value_contents_all().

static void require_not_optimized_out ( const struct value value) [static]
void set_internalvar ( struct internalvar var,
struct value val 
)
void set_internalvar_component ( struct internalvar var,
int  offset,
int  bitpos,
int  bitsize,
struct value newval 
)
static void set_internalvar_function ( struct internalvar var,
struct internal_function f 
) [static]
void set_internalvar_integer ( struct internalvar var,
LONGEST  l 
)
void set_internalvar_string ( struct internalvar var,
const char *  string 
)
void set_value_address ( struct value value,
CORE_ADDR  addr 
)
void set_value_bitpos ( struct value value,
int  bit 
)

Definition at line 811 of file value.c.

References bit, and value::bitpos.

Referenced by ada_value_primitive_packed_val(), and coerce_unspec_val_to_type().

void set_value_bitsize ( struct value value,
int  bit 
)

Definition at line 822 of file value.c.

References bit, and value::bitsize.

Referenced by ada_value_primitive_packed_val(), and coerce_unspec_val_to_type().

void set_value_component_location ( struct value component,
const struct value whole 
)
void set_value_embedded_offset ( struct value value,
int  val 
)
void set_value_enclosing_type ( struct value val,
struct type new_encl_type 
)
void set_value_initialized ( struct value val,
int  status 
)

Definition at line 3424 of file value.c.

References value::initialized, and exsummary::status.

Referenced by dwarf2_evaluate_loc_desc_full().

void set_value_lazy ( struct value value,
int  val 
)
void set_value_offset ( struct value value,
int  offset 
)
void set_value_optimized_out ( struct value value,
int  val 
)
void set_value_parent ( struct value value,
struct value parent 
)
void set_value_pointed_to_offset ( struct value value,
int  val 
)
void set_value_stack ( struct value value,
int  val 
)

Definition at line 1049 of file value.c.

References value::stack.

Referenced by dwarf2_evaluate_loc_desc_full(), and frame_unwind_got_memory().

static void show_convenience ( char *  ignore,
int  from_tty 
) [static]
static void show_values ( char *  num_exp,
int  from_tty 
) [static]
enum return_value_convention struct_return_convention ( struct gdbarch gdbarch,
struct value function,
struct type value_type 
)

Definition at line 3391 of file value.c.

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

Referenced by return_command(), and using_struct_return().

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

Definition at line 2997 of file value.c.

References LONGEST, and unpack_value_field_as_long_1().

Referenced by dynamic_array_type(), and m2_print_unbounded_array().

LONGEST unpack_long ( struct type type,
const gdb_byte valaddr 
)
CORE_ADDR unpack_pointer ( struct type type,
const gdb_byte valaddr 
)
int unpack_value_bits_as_long ( struct type field_type,
const gdb_byte valaddr,
int  embedded_offset,
int  bitpos,
int  bitsize,
const struct value original_value,
LONGEST result 
)

Definition at line 2944 of file value.c.

References gdb_assert, and unpack_value_bits_as_long_1().

Referenced by value_fetch_lazy().

static int unpack_value_bits_as_long_1 ( struct type field_type,
const gdb_byte valaddr,
int  embedded_offset,
int  bitpos,
int  bitsize,
const struct value original_value,
LONGEST result 
) [static]
int unpack_value_field_as_long ( struct type type,
const gdb_byte valaddr,
int  embedded_offset,
int  fieldno,
const struct value val,
LONGEST result 
)

Definition at line 2981 of file value.c.

References gdb_assert, and unpack_value_field_as_long_1().

Referenced by print_go_string(), and value_field_bitfield().

static int unpack_value_field_as_long_1 ( struct type type,
const gdb_byte valaddr,
int  embedded_offset,
int  fieldno,
const struct value val,
LONGEST result 
) [static]
int using_struct_return ( struct gdbarch gdbarch,
struct value function,
struct type value_type 
)
struct type* value_actual_type ( struct value value,
int  resolve_simple_types,
int real_type_found 
) [read]
CORE_ADDR value_address ( const struct value value)

Definition at line 1201 of file value.c.

References value::address, value::location, value::lval, lval_internalvar, lval_internalvar_component, value::offset, value::parent, and value_address().

Referenced by ada_tag_value_at_base_address(), ada_to_fixed_type_1(), ada_to_fixed_value(), ada_val_print_1(), ada_value_assign(), ada_value_primitive_packed_val(), ada_value_print(), ada_value_struct_elt(), address_of_variable(), c_value_print(), call_site_to_target_addr(), can_use_hardware_watchpoint(), check_condition(), coerce_unspec_val_to_type(), common_val_print(), compare_value_and_voffset(), cp_print_static_field(), cp_print_value(), desc_bounds(), do_search_struct_field(), dump_value_to_file(), encode_actions_1(), eq_value_and_voffset(), evaluate_subexp_standard(), find_function_addr(), find_method_list(), frame_register_unwind(), frame_unwind_register_value(), frv_push_dummy_call(), get_java_utf8_name(), gnuv2_value_rtti_type(), gnuv3_get_typeid(), gnuv3_rtti_type(), hash_value_and_voffset(), is_unique_ancestor(), java_link_class_type(), java_value_print(), m32r_push_dummy_call(), mips_eabi_push_dummy_call(), mn10300_push_dummy_call(), msp430_push_dummy_call(), pascal_object_print_static_field(), print_formatted(), print_one_vtable(), read_fat_string_value(), search_struct_method(), thin_data_pntr(), type_from_class(), unwrap_value(), update_watchpoint(), v850_push_dummy_call(), 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(), and x_command().

CORE_ADDR value_as_address ( struct value val)

Definition at line 2349 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_CODE_REF, unpack_long(), value_address(), value_as_long(), value_contents(), and value_type().

Referenced by 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(), elf_gnu_ifunc_resolve_addr(), elf_gnu_ifunc_resolver_return_stop(), evaluate_subexp_java(), evaluate_subexp_standard(), find_function_addr(), 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(), handle_inferior_event(), hppa32_hpux_find_global_pointer(), hppa64_hpux_find_global_pointer(), hppa_linux_find_global_pointer(), hppabsd_find_global_pointer(), indirect_pieced_value(), info_mach_region_command(), insert_exception_resume_breakpoint(), insert_exception_resume_from_probe(), java_class_from_object(), java_class_is_primitive(), java_value_print(), linespec_expression_to_pc(), parse_and_eval_address(), parse_find_args(), parse_frame_specification_1(), ppc64_sysv_abi_push_dummy_call(), print_one_vtable(), printf_c_string(), printf_wide_c_string(), ptid_from_atcb_common(), read_atcb(), read_known_tasks_list(), svr4_handle_solib_event(), value_equal(), value_ind(), value_less(), value_ptradd(), watch_command_1(), and x_command().

DOUBLEST value_as_double ( struct value val)
LONGEST value_as_long ( struct value val)

Definition at line 2324 of file value.c.

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

Referenced by ada_array_bound(), ada_array_length(), ada_tag_value_at_base_address(), ada_type_of_array(), ada_value_binop(), ada_which_variant_applies(), add_piece(), aggregate_assign_from_choices(), allocate_space_in_inferior(), call_target_sbrk(), cast_from_fixed(), cast_to_fixed(), check_condition(), checkpoint_command(), decimal_from_integral(), desc_bounds(), display_tib(), do_captured_thread_select(), dwarf2_evaluate_loc_desc_full(), ensure_lval(), evaluate_subexp_java(), evaluate_subexp_modula2(), evaluate_subexp_standard(), execute_stack_op(), find_func_descr(), find_function_addr(), gen_expr(), gen_repeat(), get_int_var_value(), get_internalvar_integer(), get_java_utf8_name(), get_number_trailer(), gnuv2_virtual_fn_field(), gnuv3_baseclass_offset(), gnuv3_rtti_type(), ignore_command(), inferior_call_waitpid(), info_port_rights(), info_task(), java_link_class_type(), linespec_parse_variable(), lookup_child_selector(), lookup_objc_class(), m68hc11_frame_prev_register(), m88k_frame_prev_register(), mep_frame_prev_register(), mi_cmd_trace_define_variable(), msp430_prev_register(), parse_and_eval_long(), parse_find_args(), parse_frame_specification_1(), pos_atr(), print_ada_task_info(), print_object_command(), printf_pointer(), ptid_from_atcb_common(), quit_force(), rank_one_type(), read_atcb(), read_fat_string_value(), rl78_prev_register(), s390_unwind_pseudo_register(), scalar_binop(), scan_discrim_bound(), set_internalvar_component(), task_command_1(), trace_variable_command(), type_from_class(), ui_printf(), value_as_address(), value_assign(), value_cast(), value_complement(), value_concat(), value_dynamic_cast(), value_equal(), value_f90_subarray(), value_in(), value_less(), value_neg(), value_pos(), value_ptrdiff(), and value_val_atr().

int value_available_contents_eq ( const struct value val1,
int  offset1,
const struct value val2,
int  offset2,
int  length 
)
int value_bitpos ( const struct value value)
int value_bits_synthetic_pointer ( const struct value value,
int  offset,
int  length 
)
int value_bits_valid ( const struct value value,
int  offset,
int  length 
)
int value_bitsize ( const struct value value)
int value_bytes_available ( const struct value value,
int  offset,
int  length 
)
void* value_computed_closure ( const struct value v)
struct lval_funcs* value_computed_funcs ( const struct value v) [read]
const gdb_byte* value_contents ( struct value value)

Definition at line 1055 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_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(), arm_push_dummy_call(), avr_push_dummy_call(), c_get_string(), cast_into_complex(), coerce_ref(), coerce_unspec_val_to_type(), create_value(), cris_push_dummy_call(), dump_value_to_file(), dwarf_expr_fetch_address(), ensure_lval(), evaluate_subexp_standard(), extend_simple_arg(), frame_unwind_register_value(), frv_push_dummy_call(), 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(), iq2000_push_dummy_call(), lm32_push_dummy_call(), 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(), nios2_push_dummy_call(), parse_find_args(), ppc64_sysv_abi_push_dummy_call(), ppc_sysv_abi_push_dummy_call(), printf_decfloat(), push_large_arguments(), read_frame_register_unsigned(), return_command(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), s390_push_dummy_call(), 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(), tic6x_push_dummy_call(), tilegx_push_dummy_call(), to_fixed_variant_branch_type(), ui_printf(), v850_push_dummy_call(), value_args_as_decimal(), value_as_address(), value_as_double(), value_as_long(), value_as_string(), value_assign(), value_assign_to_component(), value_cast(), value_coerce_to_target(), value_concat(), value_contents_equal(), value_equal(), value_equal_contents(), value_fetch_lazy(), value_in(), value_literal_complex(), value_logical_not(), value_neg(), value_of_dwarf_reg_entry(), value_pos(), value_primitive_field(), value_strcmp(), write_pieced_value(), xstormy16_push_dummy_call(), and xtensa_push_dummy_call().

const gdb_byte* value_contents_all ( struct value value)
gdb_byte* value_contents_all_raw ( struct value value)
void value_contents_copy ( struct value dst,
int  dst_offset,
struct value src,
int  src_offset,
int  length 
)
void value_contents_copy_raw ( struct value dst,
int  dst_offset,
struct value src,
int  src_offset,
int  length 
)
int value_contents_equal ( struct value val1,
struct value val2 
)

Definition at line 1076 of file value.c.

References check_typedef(), memcmp(), TYPE_LENGTH, value_contents(), and value_type().

Definition at line 944 of file value.c.

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

Referenced by cp_print_value(), print_go_string(), and val_print_scalar_formatted().

gdb_byte* value_contents_raw ( struct value value)
gdb_byte* value_contents_writeable ( struct value value)
struct value* value_copy ( struct value arg) [read]
int value_embedded_offset ( struct value value)
struct type* value_enclosing_type ( struct value value) [read]
int value_entirely_available ( struct value value)

Definition at line 1114 of file value.c.

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

Referenced by value_check_printable().

int value_entirely_unavailable ( struct value value)
int value_fetch_lazy ( struct value val)

Definition at line 3452 of file value.c.

References _, allocate_value_contents(), check_typedef(), fprintf_unfiltered(), frame_debug, frame_find_by_id(), frame_relative_level(), gdb_assert, gdb_stdlog, gdbarch_byte_order(), gdbarch_convert_register_p(), get_frame_arch(), get_frame_register_value(), get_type_arch(), internal_error(), LONGEST, lval_computed, lval_memory, lval_register, mark_value_bytes_unavailable(), offset, value::optimized_out, paddress(), value::parent, read(), lval_funcs::read, read_value_memory(), register_size(), regnum, set_value_lazy(), set_value_optimized_out(), store_signed_integer(), TYPE_LENGTH, unpack_value_bits_as_long(), user_reg_map_regnum_to_name(), value_address(), value_bitpos(), value_bits_valid(), value_bitsize(), value_computed_funcs(), value_contents(), value_contents_all_raw(), value_contents_copy(), value_contents_for_printing(), value_contents_raw(), value_embedded_offset(), value_enclosing_type(), value_fetch_lazy(), VALUE_FRAME_ID, value_free_to_mark(), value_lazy(), VALUE_LVAL, value_mark(), value_offset(), value_optimized_out(), value_parent(), VALUE_REGNUM, value_stack(), and value_type().

Referenced by fetch_subexp_value(), get_value_at(), gnuv2_virtual_fn_field(), install_new_value(), java_value_print(), read_frame_arg(), record_latest_value(), return_command(), set_internalvar(), value_contents_copy(), value_contents_for_printing(), value_contents_writeable(), value_entirely_available(), value_entirely_unavailable(), value_fetch_lazy(), value_of_internalvar(), value_of_register(), value_optimized_out(), value_primitive_field(), and wrap_value_fetch_lazy().

struct value* value_field ( struct value arg1,
int  fieldno 
) [read]
struct value* value_field_bitfield ( struct type type,
int  fieldno,
const gdb_byte valaddr,
int  embedded_offset,
const struct value val 
) [read]
struct value* value_fn_field ( struct value **  arg1p,
struct fn_field *  f,
int  j,
struct type type,
int  offset 
) [read]
void value_free ( struct value val)
void value_free_to_mark ( struct value mark)
struct value* value_from_contents ( struct type type,
const gdb_byte contents 
) [read]
struct value* value_from_contents_and_address ( struct type type,
const gdb_byte valaddr,
CORE_ADDR  address 
) [read]
struct value* value_from_decfloat ( struct type type,
const gdb_byte dec 
) [read]
struct value* value_from_double ( struct type type,
DOUBLEST  num 
) [read]
struct value* value_from_history_ref ( char *  h,
char **  endp 
) [read]

Definition at line 3257 of file value.c.

References access_value_history(), and len.

Referenced by get_number_trailer().

struct value* value_from_longest ( struct type type,
LONGEST  num 
) [read]
struct value* value_from_pointer ( struct type type,
CORE_ADDR  addr 
) [read]
struct value* value_from_ulongest ( struct type type,
ULONGEST  num 
) [read]

Definition at line 3171 of file value.c.

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

Referenced by dwarf_expr_push_address(), and execute_stack_op().

void value_incref ( struct value val)
int value_initialized ( struct value val)

Definition at line 3432 of file value.c.

References value::initialized.

Referenced by c_value_print().

char* value_internal_function_name ( struct value val)
int value_lazy ( struct value value)
enum lval_type value_lval_const ( const struct value value)
struct value* value_mark ( void  ) [read]
struct value* value_next ( struct value value) [read]
struct value* value_non_lval ( struct value arg) [read]
struct value* value_of_internalvar ( struct gdbarch gdbarch,
struct internalvar var 
) [read]
int value_offset ( const struct value value)
int value_optimized_out ( struct value value)

Definition at line 1102 of file value.c.

References value::optimized_out.

Referenced by coerce_unspec_val_to_type().

struct value* value_parent ( struct value value) [read]

Definition at line 828 of file value.c.

References value::parent.

Referenced by value_assign(), and value_fetch_lazy().

int value_pointed_to_offset ( struct value value)
struct value* value_primitive_field ( struct value arg1,
int  offset,
int  fieldno,
struct type arg_type 
) [read]
CORE_ADDR value_raw_address ( struct value value)
struct value* value_release_to_mark ( struct value mark) [read]

Definition at line 1399 of file value.c.

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

Referenced by fetch_subexp_value().

int value_stack ( struct value value)

Definition at line 1043 of file value.c.

References value::stack.

Referenced by value_fetch_lazy(), and value_repeat().

struct value* value_static_field ( struct type type,
int  fieldno 
) [read]
struct type* value_type ( const struct value value) [read]

Definition at line 784 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_get_decoded_value(), ada_promote_array_of_integrals(), ada_tag_name(), ada_tag_type(), ada_tag_value_at_base_address(), ada_to_fixed_value(), ada_type_of_array(), ada_val_print_1(), ada_value_assign(), ada_value_binop(), ada_value_cast(), ada_value_equal(), ada_value_ind(), ada_value_is_changeable_p(), ada_value_print(), ada_value_slice(), ada_value_struct_elt(), ada_value_subscript(), ada_varobj_decode_var(), ada_varobj_ind(), ada_varobj_simple_array_elt(), ada_varobj_struct_elt(), 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(), arm_push_dummy_call(), arm_return_value(), assign_component(), avr_push_dummy_call(), bfin_push_dummy_call(), binop_promote(), binop_user_defined_p(), bpfinishpy_pre_stop_hook(), c_get_string(), c_value_print(), call_function_by_hand(), can_use_hardware_watchpoint(), cast_from_fixed(), cast_into_complex(), cast_to_fixed(), check_condition(), check_pieced_value_invalid(), coerce_array(), coerce_for_assign(), coerce_ref(), coerce_ref_if_computed(), coerce_unspec_val_to_type(), common_val_print(), compute_vtable_size(), create_value(), cris_push_dummy_call(), decimal_from_integral(), 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(), dwarf_expr_fetch_address(), elf_gnu_ifunc_resolver_return_stop(), ensure_lval(), entry_data_value_coerce_ref(), evaluate_subexp_for_sizeof(), evaluate_subexp_java(), evaluate_subexp_modula2(), evaluate_subexp_opencl(), evaluate_subexp_standard(), execute_stack_op(), extend_simple_arg(), find_function_addr(), find_oload_champ_namespace_loop(), find_overload_match(), finish_command_continuation(), frame_register_unwind(), frv_push_dummy_call(), gen_expr(), gen_repeat(), get_internalvar_integer(), get_java_utf8_name(), get_number_trailer(), get_value_type(), 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(), 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(), install_new_value(), iq2000_push_dummy_call(), is_unique_ancestor(), isvoid_internal_fn(), java_class_from_object(), java_link_class_type(), java_print_value_fields(), java_value_print(), linespec_parse_variable(), list_arg_or_local(), lm32_push_dummy_call(), lval_func_check_any_valid(), lval_func_check_synthetic_pointer(), lval_func_check_validity(), 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(), 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(), nios2_push_dummy_call(), opencl_component_ref(), opencl_logical_not(), opencl_relop(), opencl_value_cast(), 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_formatted(), print_frame_arg(), print_one_vtable(), print_variable_or_computed(), printf_decfloat(), printf_wide_c_string(), push_large_arguments(), py_print_single_arg(), py_print_type(), py_print_value(), rank_function(), rank_one_type(), read_atcb(), read_fat_string_value(), read_frame_arg(), read_frame_register_value(), read_pieced_value(), regcache_cooked_read_value(), resolve_subexp(), return_command(), rl78_push_dummy_call(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), rx_push_dummy_call(), s390_push_dummy_call(), scalar_binop(), scan_discrim_bound(), score_push_dummy_call(), set_internalvar(), set_internalvar_component(), 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_store_arguments(), sparc64_store_arguments(), spu_push_dummy_call(), spu_return_value(), thin_data_pntr(), tic6x_push_dummy_call(), tlb_value_read(), to_fixed_variant_branch_type(), type_from_class(), typecmp(), ui_printf(), unop_promote(), unop_user_defined_p(), unwrap_value(), update_watchpoint(), v850_push_dummy_call(), value_actual_type(), value_addr(), value_arg_coerce(), value_args_as_decimal(), value_as_address(), value_as_double(), 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_contents_equal(), 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_full_object(), value_get_print_value(), 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_subscript(), value_subscript_packed(), value_subscripted_rvalue(), value_val_atr(), value_vector_widen(), value_x_binop(), value_x_unop(), varobj_create(), VEC(), vector_binop(), vector_relop(), watch_command_1(), whatis_exp(), wrap_type_print(), write_pieced_value(), x_command(), and xtensa_push_dummy_call().

VEC ( char_ptr  )

Definition at line 1768 of file value.c.

References len, internalvar::name, internalvar::next, VEC, and VEC_safe_push.


Variable Documentation

struct value* all_values [static]

Definition at line 668 of file value.c.

Referenced by allocate_value_lazy(), and value_mark().

struct cmd_list_element* functionlist [static]

Definition at line 170 of file value.c.

struct internalvar* internalvars [static]

Definition at line 1710 of file value.c.

Referenced by create_internalvar().

Definition at line 659 of file value.c.

Referenced by access_value_history(), and record_latest_value().

Definition at line 661 of file value.c.

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines