GDB (xrefs)

Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/valops.c File Reference
`#include "defs.h"`
`#include "symtab.h"`
`#include "gdbtypes.h"`
`#include "value.h"`
`#include "frame.h"`
`#include "inferior.h"`
`#include "gdbcore.h"`
`#include "target.h"`
`#include "demangle.h"`
`#include "language.h"`
`#include "gdbcmd.h"`
`#include "regcache.h"`
`#include "cp-abi.h"`
`#include "block.h"`
`#include "infcall.h"`
`#include "dictionary.h"`
`#include "cp-support.h"`
`#include "target-float.h"`
`#include "tracepoint.h"`
`#include "observer.h"`
`#include "objfiles.h"`
`#include "extension.h"`
`#include "byte-vector.h"`

Go to the source code of this file.

## Enumerations
enum | oload_classification { STANDARD, NON_STANDARD, INCOMPATIBLE }

## Functions
static int | typecmp (int staticp, int varargs, int nargs, struct field t1[], struct value *t2[])
static struct value * | search_struct_field (const char *, struct value *, struct type *, int)
static struct value * | search_struct_method (const char *, struct value **, struct value **, LONGEST, int *, struct type *)
static int | find_oload_champ_namespace (struct value **, int, const char *, const char *, struct symbol ***, struct badness_vector **, const int no_adl)
static int | find_oload_champ_namespace_loop (struct value **, int, const char *, const char *, int, struct symbol ***, struct badness_vector **, int *, const int no_adl)
static int | find_oload_champ (struct value **, int, int, struct fn_field *, VEC(xmethod_worker_ptr) *, struct symbol **, struct badness_vector **)
static int | oload_method_static_p (struct fn_field *, int)
static enum oload_classification | classify_oload_match (struct badness_vector *, int, int)
static struct value * | value_struct_elt_for_reference (struct type *, int, struct type *, const char *, struct type *, int, enum noside)
static struct value * | value_namespace_elt (const struct type *, const char *, int, enum noside)
static struct value * | value_maybe_namespace_elt (const struct type *, const char *, int, enum noside)
static CORE_ADDR | allocate_space_in_inferior (int)
static struct value * | cast_into_complex (struct type *, struct value *)
static void | find_method_list (struct value **, const char *, LONGEST, struct type *, struct fn_field **, int *, VEC(xmethod_worker_ptr) **, struct type **, LONGEST *)
static void | show_overload_resolution (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
struct value * | find_function_in_inferior (const char *name, struct objfile **objf_p)
struct value * | value_allocate_space_in_inferior (int len)
static struct value * | value_cast_structs (struct type *type, struct value *v2)
struct value * | value_cast_pointers (struct type *type, struct value *arg2, int subclass_check)
struct value * | value_cast (struct type *type, struct value *arg2)
struct value * | value_reinterpret_cast (struct type *type, struct value *arg)
static int | dynamic_cast_check_1 (struct type *desired_type, const gdb_byte *valaddr, LONGEST embedded_offset, CORE_ADDR address, struct value *val, struct type *search_type, CORE_ADDR arg_addr, struct type *arg_type, struct value **result)
static int | dynamic_cast_check_2 (struct type *desired_type, const gdb_byte *valaddr, LONGEST embedded_offset, CORE_ADDR address, struct value *val, struct type *search_type, struct value **result)
struct value * | value_dynamic_cast (struct type *type, struct value *arg)
struct value * | value_zero (struct type *type, enum lval_type lv)
struct value * | value_one (struct type *type)
static struct value * | get_value_at (struct type *type, CORE_ADDR addr, int lazy)
struct value * | value_at (struct type *type, CORE_ADDR addr)
struct value * | value_at_lazy (struct type *type, CORE_ADDR addr)
void | read_value_memory (struct value *val, LONGEST bit_offset, int stack, CORE_ADDR memaddr, gdb_byte *buffer, size_t length)
struct value * | value_assign (struct value *toval, struct value *fromval)
struct value * | value_repeat (struct value *arg1, int count)
struct value * | value_of_variable (struct symbol *var, const struct block *b)
struct value * | address_of_variable (struct symbol *var, const struct block *b)
int | value_must_coerce_to_target (struct value *val)
struct value * | value_coerce_to_target (struct value *val)
struct value * | value_coerce_array (struct value *arg1)
struct value * | value_coerce_function (struct value *arg1)
struct value * | value_addr (struct value *arg1)
struct value * | value_ref (struct value *arg1, enum type_code refcode)
struct value * | value_ind (struct value *arg1)
struct value * | value_array (int lowbound, int highbound, struct value **elemvec)
struct value * | value_cstring (const char *ptr, ssize_t len, struct type *char_type)
struct value * | value_string (const char *ptr, ssize_t len, struct type *char_type)
static void | update_search_result (struct value **result_ptr, struct value *v, LONGEST *last_boffset, LONGEST boffset, const char *name, struct type *type)
static void | do_search_struct_field (const char *name, struct value *arg1, LONGEST offset, struct type *type, int looking_for_baseclass, struct value **result_ptr, LONGEST *last_boffset, struct type *outermost_type)
struct value * | value_struct_elt (struct value **argp, struct value **args, const char *name, int *static_memfuncp, const char *err)
struct value * | value_struct_elt_bitpos (struct value **argp, int bitpos, struct type *ftype, const char *err)
static void | value_find_oload_method_list (struct value **argp, const char *method, LONGEST offset, struct fn_field **fn_list, int *num_fns, VEC(xmethod_worker_ptr) **xm_worker_vec, struct type **basetype, LONGEST *boffset)
int | find_overload_match (struct value **args, int nargs, const char *name, enum oload_search_type method, struct value **objp, struct symbol *fsym, struct value **valp, struct symbol **symp, int *staticp, const int no_adl, const enum noside noside)
int | destructor_name_p (const char *name, struct type *type)
static struct value * | enum_constant_from_type (struct type *type, const char *name)
struct value * | value_aggregate_elt (struct type *curtype, const char *name, struct type *expect_type, int want_address, enum noside noside)
static int | compare_parameters (struct type *t1, struct type *t2, int skip_artificial)
struct type * | value_rtti_indirect_type (struct value *v, int *full, LONGEST *top, int *using_enc)
struct value * | value_full_object (struct value *argp, struct type *rtype, int xfull, int xtop, int xusing_enc)
struct value * | value_of_this (const struct language_defn *lang)
struct value * | value_of_this_silent (const struct language_defn *lang)
struct value * | value_slice (struct value *array, int lowbound, int length)
struct value * | value_literal_complex (struct value *arg1, struct value *arg2, struct type *type)
void | _initialize_valops (void)

## Variables
unsigned int | overload_debug
int | overload_resolution = 0

## Enumeration Type Documentation

## ◆ oload_classification

enum oload_classification

Enumerator
STANDARD |
NON_STANDARD |
INCOMPATIBLE |

Definition at line 76 of file valops.c.

## Function Documentation

## ◆ _initialize_valops()

void _initialize_valops | ( | void |  | ) |

Definition at line 3887 of file valops.c.

References _, add_setshow_boolean_cmd(), class_support, overload_resolution, setlist, show_overload_resolution(), and showlist.

## ◆ address_of_variable()

struct value* address_of_variable | ( | struct symbol * | var,
|  | const struct block * | b
| ) |  |

Definition at line 1307 of file valops.c.

References _, error(), frame_find_by_id(), gdb_assert, gdbarch_register_name(), get_frame_arch(), lookup_pointer_type(), lval_memory, lval_register, SYMBOL_PRINT_NAME, SYMBOL_TYPE, TYPE_CODE, TYPE_CODE_FUNC, value_address(), value_from_pointer(), value_lazy(), VALUE_LVAL, VALUE_NEXT_FRAME_ID, value_of_variable(), VALUE_REGNUM, and value_type().

Referenced by evaluate_subexp_for_address(), evaluate_subexp_with_coercion(), and rust_evaluate_funcall().

## ◆ allocate_space_in_inferior()

static CORE_ADDR allocate_space_in_inferior | ( | int | len | ) |
| static

Definition at line 206 of file valops.c.

References value_allocate_space_in_inferior(), and value_as_long().

Referenced by value_coerce_to_target().

## ◆ cast_into_complex()

static struct value * cast_into_complex | ( | struct type * | type,
|  | struct value * | val
| ) |  |
| static

Definition at line 3859 of file valops.c.

References _, allocate_value(), error(), not_lval, TYPE_CODE, TYPE_CODE_COMPLEX, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_LENGTH, TYPE_TARGET_TYPE, value_contents(), value_contents_raw(), value_literal_complex(), value_type(), and value_zero().

Referenced by value_cast().

## ◆ classify_oload_match()

static enum oload_classification classify_oload_match | ( | struct badness_vector * | oload_champ_bv,
|  | int | nargs,
|  | int | static_offset
| ) |  |
| static

Definition at line 3127 of file valops.c.

References compare_ranks(), INCOMPATIBLE, INCOMPATIBLE_TYPE_BADNESS, NON_STANDARD, NS_POINTER_CONVERSION_BADNESS, badness_vector::rank, and STANDARD.

Referenced by find_oload_champ_namespace_loop(), and find_overload_match().

## ◆ compare_parameters()

static int compare_parameters | ( | struct type * | t1,
|  | struct type * | t2,
|  | int | skip_artificial
| ) |  |
| static

Definition at line 3258 of file valops.c.

References compare_ranks(), EXACT_MATCH_BADNESS, rank_one_type(), TYPE_CODE, TYPE_CODE_VOID, TYPE_FIELD_ARTIFICIAL, TYPE_FIELD_TYPE, and TYPE_NFIELDS.

Referenced by value_struct_elt_for_reference().

## ◆ destructor_name_p()

int destructor_name_p | ( | const char * | name,
|  | struct type * | type
| ) |  |

Definition at line 3160 of file valops.c.

References _, error(), name, and type_name_no_tag_or_error().

Referenced by yyparse().

## ◆ do_search_struct_field()

static void do_search_struct_field | ( | const char * | name,
|  | struct value * | arg1,
|  | LONGEST | offset,
|  | struct type * | type,
|  | int | looking_for_baseclass,
|  | struct value ** | result_ptr,
|  | LONGEST * | last_boffset,
|  | struct type * | outermost_type
| ) |  |
| static

Definition at line 1807 of file valops.c.

References _, baseclass_offset(), BASETYPE_VIA_VIRTUAL, check_typedef(), deprecated_set_value_type(), error(), field_is_static(), name, offset, set_value_embedded_offset(), strcmp_iw(), target_read_memory(), TYPE_BASECLASS, TYPE_BASECLASS_BITPOS, TYPE_BASECLASS_NAME, TYPE_CODE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD, TYPE_FIELD_BITPOS, TYPE_FIELD_NAME, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_N_BASECLASSES, TYPE_NFIELDS, update_search_result(), value_address(), value_at_lazy(), value_contents_for_printing(), value_contents_raw(), value_copy(), value_embedded_offset(), value_enclosing_type(), value_primitive_field(), value_static_field(), and value_type().

Referenced by search_struct_field().

## ◆ dynamic_cast_check_1()

static int dynamic_cast_check_1 | ( | struct type * | desired_type,
|  | const gdb_byte * | valaddr,
|  | LONGEST | embedded_offset,
|  | CORE_ADDR | address,
|  | struct value * | val,
|  | struct type * | search_type,
|  | CORE_ADDR | arg_addr,
|  | struct type * | arg_type,
|  | struct value ** | result
| ) |  |
| static

Definition at line 635 of file valops.c.

References baseclass_offset(), class_types_same_p(), offset, TYPE_BASECLASS, TYPE_LENGTH, TYPE_N_BASECLASSES, and value_at_lazy().

Referenced by value_dynamic_cast().

## ◆ dynamic_cast_check_2()

static int dynamic_cast_check_2 | ( | struct type * | desired_type,
|  | const gdb_byte * | valaddr,
|  | LONGEST | embedded_offset,
|  | CORE_ADDR | address,
|  | struct value * | val,
|  | struct type * | search_type,
|  | struct value ** | result
| ) |  |
| static

Definition at line 683 of file valops.c.

References baseclass_offset(), BASETYPE_VIA_PUBLIC, class_types_same_p(), offset, TYPE_BASECLASS, TYPE_N_BASECLASSES, and value_at_lazy().

Referenced by value_dynamic_cast().

## ◆ enum_constant_from_type()

static struct value* enum_constant_from_type | ( | struct type * | type,
|  | const char * | name
| ) |  |
| static

Definition at line 3186 of file valops.c.

References _, error(), FIELD_LOC_KIND_ENUMVAL, gdb_assert, name, TYPE_CODE, TYPE_CODE_ENUM, TYPE_DECLARED_CLASS, TYPE_FIELD_ENUMVAL, TYPE_FIELD_LOC_KIND, TYPE_FIELD_NAME, TYPE_N_BASECLASSES, TYPE_NFIELDS, TYPE_TAG_NAME, and value_from_longest().

Referenced by value_aggregate_elt().

## ◆ find_function_in_inferior()

struct value* find_function_in_inferior | ( | const char * | name,
|  | struct objfile ** | objf_p
| ) |  |

Definition at line 127 of file valops.c.

References _, BMSYMBOL_VALUE_ADDRESS, error(), get_objfile_arch(), LOC_BLOCK, lookup_bound_minimal_symbol(), lookup_function_type(), lookup_pointer_type(), lookup_symbol(), bound_minimal_symbol::minsym, name, bound_minimal_symbol::objfile, SYMBOL_CLASS, symbol_objfile(), target_has_execution, type, value_from_pointer(), value_of_variable(), and VAR_DOMAIN.

Referenced by call_target_sbrk(), checkpoint_command(), evaluate_subexp_standard(), inferior_call_waitpid(), linux_infcall_mmap(), linux_infcall_munmap(), lookup_child_selector(), lookup_objc_class(), print_object_command(), value_allocate_space_in_inferior(), and value_nsstring().

## ◆ find_method_list()

static void find_method_list | ( | struct value ** | argp,
|  | const char * | method,
|  | LONGEST | offset,
|  | struct type * | type,
|  | struct fn_field ** | fn_list,
|  | int * | num_fns,
|  | VEC(xmethod_worker_ptr) ** | xm_worker_vec,
|  | struct type ** | basetype,
|  | LONGEST * | boffset
| ) |  |
| static

Definition at line 2282 of file valops.c.

References baseclass_offset(), BASETYPE_VIA_VIRTUAL, check_stub_method_group(), check_typedef(), gdb_assert, get_matching_xmethod_workers(), offset, strcmp_iw(), type, TYPE_BASECLASS, TYPE_BASECLASS_BITPOS, TYPE_FN_FIELDLIST1, TYPE_FN_FIELDLIST_LENGTH, TYPE_FN_FIELDLIST_NAME, TYPE_N_BASECLASSES, TYPE_NFN_FIELDS, value_address(), value_contents_for_printing(), value_offset(), VEC, VEC_free, and VEC_merge.

Referenced by value_find_oload_method_list().

## ◆ find_oload_champ()

static int find_oload_champ | ( | struct value ** | args,
|  | int | nargs,
|  | int | num_fns,
|  | struct fn_field * | fns_ptr,
|  | VEC(xmethod_worker_ptr) * | xm_worker_vec,
|  | struct symbol ** | oload_syms,
|  | struct badness_vector ** | oload_champ_bv
| ) |  |
| static

Definition at line 2993 of file valops.c.

References compare_badness(), fprintf_filtered(), gdb_assert, gdb_stderr, get_xmethod_arg_types(), oload_method_static_p(), overload_debug, rank::rank, badness_vector::rank, rank_function(), SYMBOL_DEMANGLED_NAME, SYMBOL_TYPE, TYPE_FIELD_TYPE, TYPE_FN_FIELD_ARGS, TYPE_FN_FIELD_TYPE, TYPE_NFIELDS, VEC_index, VEC_length, xfree(), and XNEWVEC.

Referenced by find_oload_champ_namespace_loop(), and find_overload_match().

## ◆ find_oload_champ_namespace()

static int find_oload_champ_namespace | ( | struct value ** | args,
|  | int | nargs,
|  | const char * | func_name,
|  | const char * | qualified_name,
|  | struct symbol *** | oload_syms,
|  | struct badness_vector ** | oload_champ_bv,
|  | const int | no_adl
| ) |  |
| static

Definition at line 2831 of file valops.c.

References find_oload_champ_namespace_loop().

Referenced by find_overload_match().

## ◆ find_oload_champ_namespace_loop()

static int find_oload_champ_namespace_loop | ( | struct value ** | args,
|  | int | nargs,
|  | const char * | func_name,
|  | const char * | qualified_name,
|  | int | namespace_len,
|  | struct symbol *** | oload_syms,
|  | struct badness_vector ** | oload_champ_bv,
|  | int * | oload_champ,
|  | const int | no_adl
| ) |  |
| static

Definition at line 2860 of file valops.c.

References classify_oload_match(), cp_find_first_component(), discard_cleanups(), do_cleanups(), find_oload_champ(), gdb_assert, make_cleanup(), make_symbol_overload_list(), make_symbol_overload_list_adl(), STANDARD, value_type(), and xfree().

Referenced by find_oload_champ_namespace().

## ◆ find_overload_match()

int find_overload_match | ( | struct value ** | args,
|  | int | nargs,
|  | const char * | name,
|  | enum oload_search_type | method,
|  | struct value ** | objp,
|  | struct symbol * | fsym,
|  | struct value ** | valp,
|  | struct symbol ** | symp,
|  | int * | staticp,
|  | const int | no_adl,
|  | const enum noside noside |
| ) |  |

Definition at line 2465 of file valops.c.

References _, all_cleanups(), BOTH, check_typedef(), classify_oload_match(), clone_xmethod_worker(), coerce_ref(), compare_badness(), cp_func_name(), do_cleanups(), error(), EVAL_AVOID_SIDE_EFFECTS, find_oload_champ(), find_oload_champ_namespace(), free_xmethod_worker_vec(), gdb_assert, gdb_assert_not_reached, INCOMPATIBLE, make_cleanup(), METHOD, name, NON_METHOD, NON_STANDARD, NOT_FOUND_ERROR, null_cleanup(), oload_method_static_p(), search_struct_field(), STANDARD, SYMBOL_NATURAL_NAME, SYMBOL_TYPE, throw_error(), TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_FN_FIELD_VIRTUAL_P, TYPE_IS_REFERENCE, TYPE_NAME, TYPE_SELF_TYPE, value_addr(), value_find_oload_method_list(), value_fn_field(), value_ind(), value_of_xmethod(), value_type(), value_virtual_fn_field(), VEC, VEC_index, VEC_length, warning(), and xfree().

Referenced by evaluate_funcall(), and value_user_defined_cpp_op().

## ◆ get_value_at()

static struct value* get_value_at | ( | struct type * | type,
|  | CORE_ADDR | addr,
|  | int | lazy
| ) |  |
| static

Definition at line 902 of file valops.c.

References _, check_typedef(), error(), value::lazy, TYPE_CODE, TYPE_CODE_VOID, value_fetch_lazy(), and value_from_contents_and_address().

Referenced by value_at(), and value_at_lazy().

## ◆ oload_method_static_p()

static int oload_method_static_p | ( | struct fn_field * | fns_ptr,
|  | int | index
| ) |  |
| static

Definition at line 3116 of file valops.c.

References TYPE_FN_FIELD_STATIC_P.

Referenced by find_oload_champ(), and find_overload_match().

## ◆ read_value_memory()

void read_value_memory | ( | struct value * | val,
|  | LONGEST | bit_offset,
|  | int | stack,
|  | CORE_ADDR | memaddr,
|  | gdb_byte * | buffer,
|  | size_t | length
| ) |  |

Definition at line 950 of file valops.c.

References target_ops::beneath, current_target, gdbarch_addressable_memory_unit_size(), get_value_arch(), HOST_CHAR_BIT, mark_value_bits_unavailable(), memory_error(), QUIT, status, TARGET_OBJECT_MEMORY, TARGET_OBJECT_STACK_MEMORY, TARGET_XFER_E_IO, TARGET_XFER_EOF, TARGET_XFER_OK, target_xfer_partial, and TARGET_XFER_UNAVAILABLE.

Referenced by get_call_return_value(), rw_pieced_value(), value_fetch_lazy(), and value_repeat().

## ◆ search_struct_field()

static struct value * search_struct_field | ( | const char * | name,
|  | struct value * | arg1,
|  | struct type * | type,
|  | int | looking_for_baseclass
| ) |  |
| static

Definition at line 1968 of file valops.c.

References do_search_struct_field(), and name.

Referenced by find_overload_match(), value_cast_structs(), and value_struct_elt().

## ◆ search_struct_method()

static struct value * search_struct_method | ( | const char * | name,
|  | struct value ** | arg1p,
|  | struct value ** | args,
|  | LONGEST | offset,
|  | int * | static_memfuncp,
|  | struct type * | type
| ) |  |
| static

Definition at line 1988 of file valops.c.

References _, value::address, baseclass_offset(), BASETYPE_VIA_VIRTUAL, check_stub_method_group(), check_typedef(), error(), name, offset, startswith(), strcmp_iw(), target_read_memory(), TYPE_BASECLASS, TYPE_BASECLASS_BITPOS, TYPE_FN_FIELD_ARGS, TYPE_FN_FIELD_STATIC_P, TYPE_FN_FIELD_TYPE, TYPE_FN_FIELD_VIRTUAL_P, TYPE_FN_FIELDLIST1, TYPE_FN_FIELDLIST_LENGTH, TYPE_FN_FIELDLIST_NAME, TYPE_LENGTH, TYPE_N_BASECLASSES, TYPE_NFIELDS, TYPE_NFN_FIELDS, TYPE_VARARGS, typecmp(), value_address(), value_contents_for_printing(), value_fn_field(), value_from_contents_and_address(), and value_virtual_fn_field().

Referenced by value_struct_elt().

## ◆ show_overload_resolution()

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

Definition at line 113 of file valops.c.

References _, and fprintf_filtered().

Referenced by _initialize_valops().

## ◆ typecmp()

static int typecmp | ( | int | staticp,
|  | int | varargs,
|  | int | nargs,
|  | struct field | t1[],
|  | struct value * | t2[]
| ) |  |
| static

Definition at line 1707 of file valops.c.

References _, check_typedef(), internal_error(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_PTR, TYPE_CODE_VOID, TYPE_IS_REFERENCE, TYPE_TARGET_TYPE, value_coerce_array(), value_ref(), and value_type().

Referenced by search_struct_method().

## ◆ update_search_result()

static void update_search_result | ( | struct value ** | result_ptr,
|  | struct value * | v,
|  | LONGEST * | last_boffset,
|  | LONGEST | boffset,
|  | const char * | name,
|  | struct type * | type
| ) |  |
| static

Definition at line 1782 of file valops.c.

References _, error(), name, and TYPE_SAFE_NAME.

Referenced by do_search_struct_field().

## ◆ value_addr()

struct value* value_addr | ( | struct value * | arg1 | ) |

Definition at line 1462 of file valops.c.

References _, check_typedef(), coerce_ref(), deprecated_set_value_type(), error(), lookup_pointer_type(), lval_memory, set_value_enclosing_type(), set_value_pointed_to_offset(), TARGET_CHAR_BIT, TYPE_CODE, TYPE_CODE_FUNC, TYPE_IS_REFERENCE, TYPE_LENGTH, TYPE_TARGET_TYPE, value_address(), value_bits_synthetic_pointer(), value_coerce_function(), value_coerce_to_target(), value_copy(), value_embedded_offset(), value_enclosing_type(), value_from_pointer(), VALUE_LVAL, and value_type().

Referenced by ada_convert_actual(), ada_evaluate_subexp(), amd64_windows_adjust_args_passed_by_pointer(), c_value_print(), call_function_by_hand_dummy(), evaluate_subexp_for_address(), find_function_addr(), find_overload_match(), gdbscm_value_address(), get_value_addr_contents(), gnuv2_virtual_fn_field(), gnuv3_get_virtual_fn(), gnuv3_print_vtable(), gnuv3_rtti_type(), make_array_descriptor(), print_one_vtable(), rust_evaluate_funcall(), rust_subscript(), valpy_get_address(), value_cast_pointers(), value_dynamic_cast(), value_fn_field(), value_maybe_namespace_elt(), value_ref(), value_reinterpret_cast(), value_struct_elt_for_reference(), value_x_binop(), value_x_unop(), and watch_command_1().

## ◆ value_aggregate_elt()

struct value* value_aggregate_elt | ( | struct type * | curtype,
|  | const char * | name,
|  | struct type * | expect_type,
|  | int | want_address,
|  | enum noside noside |
| ) |  |

Definition at line 3224 of file valops.c.

References _, enum_constant_from_type(), internal_error(), name, TYPE_CODE, TYPE_CODE_ENUM, TYPE_CODE_NAMESPACE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, value_namespace_elt(), and value_struct_elt_for_reference().

Referenced by evaluate_subexp_for_address(), evaluate_subexp_standard(), and value_struct_elt_for_reference().

## ◆ value_allocate_space_in_inferior()

struct value* value_allocate_space_in_inferior | ( | int | len | ) |

Definition at line 185 of file valops.c.

References _, call_function_by_hand(), error(), find_function_in_inferior(), get_objfile_arch(), target_has_execution, value_from_longest(), and value_logical_not().

Referenced by allocate_space_in_inferior(), ensure_lval(), find_func_descr(), rust_evaluate_subexp(), rust_range(), and rust_subscript().

## ◆ value_array()

struct value* value_array | ( | int | lowbound,
|  | int | highbound,
|  | struct value ** | elemvec
| ) |  |

Definition at line 1604 of file valops.c.

References _, allocate_value(), language_defn::c_style_arrays, current_language, error(), lookup_array_range_type(), type_length_units(), value_contents_copy(), and value_enclosing_type().

Referenced by evaluate_subexp_standard(), and rust_evaluate_subexp().

## ◆ value_assign()

struct value* value_assign | ( | struct value * | toval,
|  | struct value * | fromval
| ) |  |

Definition at line 993 of file valops.c.

References _, check_typedef(), coerce_array(), coerce_ref(), current_target, deprecated_safe_get_selected_frame(), deprecated_value_modifiable(), error(), frame_find_by_id(), gdb_assert, gdbarch_convert_register_p(), gdbarch_value_to_register(), get_frame_arch(), get_frame_id(), get_frame_register_bytes(), get_type_arch(), HOST_CHAR_BIT, lval_computed, lval_internalvar, lval_internalvar_component, lval_memory, lval_register, modify_field(), NOT_AVAILABLE_ERROR, observer_notify_register_changed(), observer_notify_target_changed(), offset, OPTIMIZED_OUT_ERROR, value::parent, put_frame_register_bytes(), read_memory(), select_frame(), set_internalvar(), set_internalvar_component(), set_value_enclosing_type(), set_value_lazy(), set_value_pointed_to_offset(), throw_error(), type, TYPE_CODE, TYPE_CODE_PTR, TYPE_LENGTH, type_length_units(), TYPE_UNSIGNED, value_address(), value_as_long(), value_bitpos(), value_bitsize(), value_cast(), value_computed_funcs(), value_contents(), value_contents_raw(), value_copy(), value_enclosing_type(), VALUE_FRAME_ID, value_from_longest(), VALUE_INTERNALVAR, VALUE_LVAL, value_must_coerce_to_target(), value_of_internalvar(), value_offset(), value_parent(), value_pointed_to_offset(), VALUE_REGNUM, value_type(), lval_funcs::write, and write_memory_with_notification().

Referenced by ada_value_assign(), evaluate_subexp_opencl(), evaluate_subexp_standard(), lval_func_write(), rust_evaluate_subexp(), rust_range(), rust_subscript(), and varobj_set_value().

## ◆ value_at()

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

Definition at line 933 of file valops.c.

References get_value_at().

Referenced by ada_value_primitive_packed_val(), default_read_var_value(), dwarf2_evaluate_property(), dynamic_array_type(), generic_val_print_ref(), gnuv3_get_vtable(), pascal_val_print(), print_unpacked_pointer(), print_variable_at_address(), value_cast_structs(), and value_dynamic_cast().

## ◆ value_at_lazy()

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

Definition at line 944 of file valops.c.

References get_value_at().

Referenced by ada_evaluate_subexp(), ada_value_slice_from_ptr(), ada_value_struct_elt(), coerce_ref(), default_read_var_value(), do_examine(), do_search_struct_field(), dwarf2_evaluate_loc_desc_full(), dynamic_cast_check_1(), dynamic_cast_check_2(), evaluate_subexp_standard(), evaluate_var_msym_value(), frame_unwind_got_memory(), gnuv3_get_typeid(), gnuv3_get_vtable(), lsscm_safe_lazy_string_to_value(), m2_print_unbounded_array(), print_subexp_standard(), rust_evaluate_subexp(), rust_range(), rust_subscript(), stpy_convert_to_value(), value_cast(), value_cast_structs(), value_coerce_to_target(), value_dynamic_cast(), value_full_object(), value_ind(), and value_static_field().

## ◆ value_cast()

struct value* value_cast | ( | struct type * | type,
|  | struct value * | arg2
| ) |  |

Definition at line 351 of file valops.c.

References _, allocate_value(), language_defn::c_style_arrays, cast_into_complex(), check_typedef(), coerce_ref(), cplus_make_method_ptr(), create_array_type(), create_static_range_type(), current_language, deprecated_set_value_type(), error(), extract_unsigned_integer(), gdb_assert, gdbarch_addr_bit(), gdbarch_byte_order(), get_discrete_bounds(), get_type_arch(), HOST_CHAR_BIT, is_floating_type(), is_floating_value(), lval_memory, not_lval, set_value_enclosing_type(), set_value_pointed_to_offset(), target_float_convert(), type, TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_COMPLEX, TYPE_CODE_DECFLOAT, TYPE_CODE_ENUM, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHODPTR, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_INDEX_TYPE, TYPE_IS_REFERENCE, TYPE_LENGTH, TYPE_NAME, TYPE_TARGET_TYPE, TYPE_UNSIGNED, TYPE_VECTOR, value_address(), value_as_long(), value_at_lazy(), value_cast(), value_cast_pointers(), value_cast_structs(), value_coerce_array(), value_coerce_function(), value_contents(), value_contents_raw(), value_contents_writeable(), value_copy(), value_from_longest(), value_from_ulongest(), VALUE_LVAL, value_ref(), value_type(), value_zero(), and warning().

Referenced by aarch64_push_dummy_call(), ada_coerce_to_simple_array_ptr(), ada_evaluate_subexp(), ada_get_tsd_from_tag(), ada_promote_array_of_integrals(), ada_tag_value_at_base_address(), ada_val_print_num(), ada_value_assign(), ada_value_cast(), ada_value_ptr_subscript(), ada_value_slice(), adjust_value_for_child_access(), alpha_push_dummy_call(), binop_promote(), BP_MANIPULATION(), cast_from_fixed(), cast_to_fixed(), compute_exception(), cplus_describe_child(), desc_bounds(), evaluate_funcall(), evaluate_struct_tuple(), evaluate_subexp_for_address(), evaluate_subexp_for_cast(), evaluate_subexp_modula2(), evaluate_subexp_standard(), evaluate_subexp_with_coercion(), dwarf_expr_context::execute_stack_op(), gdbpy_get_xmethod_result_type(), gdbpy_invoke_xmethod(), gnuv2_value_rtti_type(), gnuv2_virtual_fn_field(), gnuv3_get_typeid(), gnuv3_get_virtual_fn(), gnuv3_method_ptr_to_value(), gnuv3_virtual_fn_field(), hppa64_push_dummy_call(), m88k_store_arguments(), opencl_value_cast(), printf_floating(), return_command(), rust_get_trait_object_pointer(), s390_unwind_pseudo_register(), sparc64_store_arguments(), thin_data_pntr(), unop_promote(), valpy_do_cast(), valpy_getitem(), value_arg_coerce(), value_assign(), value_assign_to_component(), value_cast(), value_dynamic_cast(), value_fn_field(), value_literal_complex(), value_reinterpret_cast(), value_vector_widen(), varobj_create(), vlscm_do_cast(), and xtensa_push_dummy_call().

## ◆ value_cast_pointers()

struct value* value_cast_pointers | ( | struct type * | type,
|  | struct value * | arg2,
|  | int | subclass_check
| ) |  |

Definition at line 306 of file valops.c.

References check_typedef(), coerce_ref(), deprecated_set_value_type(), gdb_assert, set_value_enclosing_type(), set_value_pointed_to_offset(), TYPE_CODE, TYPE_CODE_STRUCT, TYPE_IS_REFERENCE, TYPE_TARGET_TYPE, value_addr(), value_cast_structs(), value_copy(), value_ind(), value_logical_not(), and value_type().

Referenced by ada_convert_actual(), evaluate_subexp_standard(), value_arg_coerce(), value_cast(), and value_struct_elt_for_reference().

## ◆ value_cast_structs()

static struct value* value_cast_structs | ( | struct type * | type,
|  | struct value * | v2
| ) |  |
| static

Definition at line 217 of file valops.c.

References check_typedef(), gdb_assert, not_lval, search_struct_field(), TYPE_CODE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_NAME, type_name_no_tag(), value_address(), value_at(), value_at_lazy(), value_embedded_offset(), value_full_object(), value_rtti_type(), value_type(), and value_zero().

Referenced by value_cast(), and value_cast_pointers().

## ◆ value_coerce_array()

struct value* value_coerce_array | ( | struct value * | arg1 | ) |

Definition at line 1426 of file valops.c.

References _, check_typedef(), error(), lookup_pointer_type(), lval_memory, TYPE_TARGET_TYPE, value_address(), value_coerce_to_target(), value_from_pointer(), VALUE_LVAL, and value_type().

Referenced by coerce_array(), lookup_child_selector(), lookup_objc_class(), typecmp(), value_cast(), value_nsstring(), and value_subscript().

## ◆ value_coerce_function()

struct value* value_coerce_function | ( | struct value * | arg1 | ) |

Definition at line 1446 of file valops.c.

References _, error(), lookup_pointer_type(), lval_memory, value_address(), value_from_pointer(), VALUE_LVAL, and value_type().

Referenced by coerce_array(), value_addr(), and value_cast().

## ◆ value_coerce_to_target()

struct value* value_coerce_to_target | ( | struct value * | val | ) |

Definition at line 1388 of file valops.c.

References allocate_space_in_inferior(), check_typedef(), TYPE_LENGTH, value_at_lazy(), value_contents(), value_must_coerce_to_target(), value_type(), and write_memory().

Referenced by value_addr(), value_arg_coerce(), and value_coerce_array().

## ◆ value_cstring()

struct value* value_cstring | ( | const char * | ptr,
|  | ssize_t | len,
|  | struct type * | char_type
| ) |  |

Definition at line 1652 of file valops.c.

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

Referenced by convert_value_from_python(), evaluate_subexp_c(), value_of_internalvar(), and vlscm_convert_typed_value_from_scheme().

## ◆ value_dynamic_cast()

struct value* value_dynamic_cast | ( | struct type * | type,
|  | struct value * | arg
| ) |  |

Definition at line 724 of file valops.c.

References _, check_typedef(), class_types_same_p(), dynamic_cast_check_1(), dynamic_cast_check_2(), error(), is_ancestor(), is_public_ancestor(), is_unique_ancestor(), not_lval, TYPE_CODE, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_VOID, TYPE_IS_REFERENCE, TYPE_TARGET_TYPE, value_addr(), value_address(), value_as_long(), value_at(), value_at_lazy(), value_cast(), value_contents_for_printing(), value_embedded_offset(), value_ind(), value_ref(), value_rtti_type(), value_type(), and value_zero().

Referenced by evaluate_subexp_standard(), valpy_do_cast(), and vlscm_do_cast().

## ◆ value_find_oload_method_list()

static void value_find_oload_method_list | ( | struct value ** | argp,
|  | const char * | method,
|  | LONGEST | offset,
|  | struct fn_field ** | fn_list,
|  | int * | num_fns,
|  | VEC(xmethod_worker_ptr) ** | xm_worker_vec,
|  | struct type ** | basetype,
|  | LONGEST * | boffset
| ) |  |
| static

Definition at line 2382 of file valops.c.

References _, check_typedef(), coerce_array(), error(), find_method_list(), gdb_assert, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_IS_REFERENCE, value_ind(), and value_type().

Referenced by find_overload_match().

## ◆ value_full_object()

struct value* value_full_object | ( | struct value * | argp,
|  | struct type * | rtype,
|  | int | xfull,
|  | int | xtop,
|  | int | xusing_enc
| ) |  |

Definition at line 3662 of file valops.c.

References _, deprecated_set_value_type(), lval_memory, set_value_embedded_offset(), set_value_enclosing_type(), TYPE_LENGTH, TYPE_NAME, value_address(), value_at_lazy(), value_copy(), value_embedded_offset(), value_enclosing_type(), VALUE_LVAL, value_rtti_type(), value_type(), and warning().

Referenced by c_value_print(), gnuv3_print_vtable(), readjust_indirect_value_type(), and value_cast_structs().

## ◆ value_ind()

struct value* value_ind | ( | struct value * | arg1 | ) |

Definition at line 1542 of file valops.c.

References _, check_typedef(), coerce_array(), error(), find_function_addr(), value::funcs, lval_funcs::indirect, lval_computed, readjust_indirect_value_type(), TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_METHOD, TYPE_CODE_PTR, TYPE_TARGET_TYPE, value_as_address(), value_at_lazy(), value_computed_funcs(), value_enclosing_type(), VALUE_LVAL, value_pointed_to_offset(), and value_type().

Referenced by ada_array_bound(), ada_array_length(), ada_coerce_to_simple_array(), ada_evaluate_subexp(), ada_get_tsd_from_tag(), ada_tag_value_at_base_address(), ada_value_ind(), ada_value_ptr_subscript(), ada_value_struct_elt(), adjust_value_for_child_access(), c_describe_child(), c_value_print(), compute_exception(), decode_constrained_packed_array(), do_module_cleanup(), evaluate_funcall(), evaluate_subexp_for_sizeof(), evaluate_subexp_modula2(), evaluate_subexp_standard(), find_overload_match(), gdbscm_value_dereference(), gdbscm_value_dynamic_type(), gdbscm_value_referenced_value(), gnuv2_virtual_fn_field(), gnuv3_get_typeid(), gnuv3_method_ptr_to_value(), gnuv3_print_vtable(), info_mach_region_command(), read_fat_string_value(), rust_evaluate_funcall(), rust_evaluate_subexp(), valpy_dereference(), valpy_get_dynamic_type(), valpy_referenced_value(), value_cast_pointers(), value_dynamic_cast(), value_find_oload_method_list(), value_fn_field(), value_reinterpret_cast(), value_rtti_indirect_type(), value_struct_elt(), value_struct_elt_bitpos(), value_struct_elt_for_reference(), value_subscript(), and value_user_defined_cpp_op().

## ◆ value_literal_complex()

struct value* value_literal_complex | ( | struct value * | arg1,
|  | struct value * | arg2,
|  | struct type * | type
| ) |  |

Definition at line 3838 of file valops.c.

References allocate_value(), TYPE_LENGTH, TYPE_TARGET_TYPE, value_cast(), value_contents(), and value_contents_raw().

Referenced by cast_into_complex(), and evaluate_subexp_standard().

## ◆ value_maybe_namespace_elt()

static struct value* value_maybe_namespace_elt | ( | const struct type * | curtype,
|  | const char * | name,
|  | int | want_address,
|  | enum noside noside |
| ) |  |
| static

Definition at line 3564 of file valops.c.

References allocate_value(), block_symbol::block, cp_lookup_symbol_namespace(), EVAL_AVOID_SIDE_EFFECTS, get_selected_block(), LOC_TYPEDEF, name, namespace_name(), block_symbol::symbol, SYMBOL_CLASS, SYMBOL_TYPE, TYPE_TAG_NAME, value_addr(), value_of_variable(), and VAR_DOMAIN.

Referenced by value_namespace_elt(), and value_struct_elt_for_reference().

## ◆ value_must_coerce_to_target()

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

Definition at line 1360 of file valops.c.

References check_typedef(), lval_internalvar, lval_xcallable, not_lval, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_STRING, TYPE_VECTOR, VALUE_LVAL, and value_type().

Referenced by evaluate_subexp_for_address(), value_assign(), and value_coerce_to_target().

## ◆ value_namespace_elt()

static struct value* value_namespace_elt | ( | const struct type * | curtype,
|  | const char * | name,
|  | int | want_address,
|  | enum noside noside |
| ) |  |
| static

Definition at line 3542 of file valops.c.

References _, error(), name, TYPE_TAG_NAME, and value_maybe_namespace_elt().

Referenced by value_aggregate_elt().

## ◆ value_of_this()

struct value* value_of_this | ( | const struct language_defn * | lang | ) |

Definition at line 3732 of file valops.c.

References _, block_symbol::block, error(), get_frame_block(), get_selected_frame(), language_defn::la_name_of_this, lookup_language_this(), read_var_value(), and block_symbol::symbol.

Referenced by evaluate_subexp_standard(), and value_of_this_silent().

## ◆ value_of_this_silent()

struct value* value_of_this_silent | ( | const struct language_defn * | lang | ) |

Definition at line 3757 of file valops.c.

References CATCH, END_CATCH, RETURN_MASK_ERROR, TRY, and value_of_this().

Referenced by value_struct_elt_for_reference(), and yyparse().

## ◆ value_of_variable()

struct value* value_of_variable | ( | struct symbol * | var,
|  | const struct block * | b
| ) |  |

Definition at line 1296 of file valops.c.

References _, get_selected_frame(), read_var_value(), and symbol_read_needs_frame().

Referenced by address_of_variable(), evaluate_funcall(), evaluate_subexp_standard(), evaluate_var_value(), find_function_in_inferior(), get_var_value(), info_common_command_for_block(), typy_template_argument(), value_maybe_namespace_elt(), value_static_field(), and value_user_defined_cpp_op().

## ◆ value_one()

struct value* value_one | ( | struct type * | type | ) |

Definition at line 858 of file valops.c.

References _, allocate_value(), check_typedef(), error(), gdb_assert, get_array_bounds(), is_floating_type(), is_integral_type(), not_lval, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_LENGTH, TYPE_TARGET_TYPE, TYPE_VECTOR, value_contents_all(), value_contents_writeable(), value_from_longest(), VALUE_LVAL, and value_one().

Referenced by evaluate_subexp_standard(), and value_one().

## ◆ value_ref()

struct value* value_ref | ( | struct value * | arg1,
|  | enum type_code | refcode
| ) |  |

Definition at line 1521 of file valops.c.

References check_typedef(), deprecated_set_value_type(), gdb_assert, lookup_reference_type(), TYPE_CODE, TYPE_CODE_REF, TYPE_CODE_RVALUE_REF, value_addr(), and value_type().

Referenced by ada_evaluate_subexp(), c_value_print(), print_stack_unless_memory_error(), typecmp(), valpy_reference_value(), value_arg_coerce(), value_cast(), value_dynamic_cast(), and value_reinterpret_cast().

## ◆ value_reinterpret_cast()

struct value* value_reinterpret_cast | ( | struct type * | type,
|  | struct value * | arg
| ) |  |

Definition at line 577 of file valops.c.

References _, check_typedef(), coerce_array(), error(), lookup_pointer_type(), type, TYPE_CODE, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHODPTR, TYPE_CODE_PTR, TYPE_IS_REFERENCE, TYPE_TARGET_TYPE, value_addr(), value_cast(), value_ind(), value_ref(), and value_type().

Referenced by evaluate_subexp_standard(), valpy_do_cast(), and vlscm_do_cast().

## ◆ value_repeat()

struct value* value_repeat | ( | struct value * | arg1,
|  | int | count
| ) |  |

Definition at line 1274 of file valops.c.

References _, allocate_repeat_value(), error(), lval_memory, read_value_memory(), set_value_address(), type_length_units(), value_address(), value_contents_all_raw(), value_enclosing_type(), VALUE_LVAL, and value_stack().

Referenced by evaluate_subexp_standard().

## ◆ value_rtti_indirect_type()

struct type* value_rtti_indirect_type | ( | struct value * | v,
|  | int * | full,
|  | LONGEST * | top,
|  | int * | using_enc
| ) |  |

Definition at line 3595 of file valops.c.

References _, CATCH, check_typedef(), coerce_ref(), END_CATCH, internal_error(), lookup_pointer_type(), lookup_reference_type(), make_cv_type(), MEMORY_ERROR, RETURN_MASK_ERROR, throw_exception(), TRY, type, TYPE_CODE, TYPE_CODE_PTR, TYPE_CONST, TYPE_IS_REFERENCE, TYPE_VOLATILE, value_ind(), value_rtti_type(), and value_type().

Referenced by c_value_print(), evaluate_subexp_standard(), value_actual_type(), and whatis_exp().

## ◆ value_slice()

struct value* value_slice | ( | struct value * | array,
|  | int | lowbound,
|  | int | length
| ) |  |

Definition at line 3778 of file valops.c.

References _, allocate_value(), allocate_value_lazy(), check_typedef(), create_array_type(), create_static_range_type(), error(), get_discrete_bounds(), type::length, lval_memory, offset, set_value_component_location(), set_value_offset(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_STRING, TYPE_INDEX_TYPE, TYPE_LENGTH, type_length_units(), TYPE_TARGET_TYPE, value_contents_copy(), value_lazy(), VALUE_LVAL, value_offset(), and value_type().

Referenced by ada_value_slice(), evaluate_subexp_standard(), and value_f90_subarray().

## ◆ value_string()

struct value* value_string | ( | const char * | ptr,
|  | ssize_t | len,
|  | struct type * | char_type
| ) |  |

Definition at line 1675 of file valops.c.

References allocate_value(), current_language, lookup_string_range_type(), language_defn::string_lower_bound, TYPE_LENGTH, and value_contents_raw().

Referenced by evaluate_subexp_standard(), lookup_child_selector(), lookup_objc_class(), value_concat(), and value_nsstring().

## ◆ value_struct_elt()

struct value* value_struct_elt | ( | struct value ** | argp,
|  | struct value ** | args,
|  | const char * | name,
|  | int * | static_memfuncp,
|  | const char * | err
| ) |  |

Definition at line 2133 of file valops.c.

References _, check_typedef(), coerce_array(), err, error(), name, NOT_FOUND_ERROR, search_struct_field(), search_struct_method(), throw_error(), TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_IS_REFERENCE, TYPE_NFN_FIELDS, value_ind(), and value_type().

Referenced by desc_bounds(), desc_data(), desc_one_bound(), evaluate_funcall(), evaluate_subexp_modula2(), evaluate_subexp_opencl(), evaluate_subexp_standard(), gdbscm_value_field(), rust_evaluate_subexp(), rust_range(), rust_subscript(), rust_val_print_str(), valpy_getitem(), and value_user_defined_op().

## ◆ value_struct_elt_bitpos()

struct value* value_struct_elt_bitpos | ( | struct value ** | argp,
|  | int | bitpos,
|  | struct type * | ftype,
|  | const char * | err
| ) |  |

Definition at line 2222 of file valops.c.

References _, check_typedef(), coerce_array(), err, error(), field_is_static(), TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD, TYPE_FIELD_BITPOS, TYPE_FIELD_TYPE, TYPE_IS_REFERENCE, TYPE_N_BASECLASSES, TYPE_NFIELDS, types_equal(), value_ind(), value_primitive_field(), and value_type().

Referenced by valpy_getitem().

## ◆ value_struct_elt_for_reference()

static struct value* value_struct_elt_for_reference | ( | struct type * | domain,
|  | int | offset,
|  | struct type * | curtype,
|  | const char * | name,
|  | struct type * | intype,
|  | int | want_address,
|  | enum noside noside |
| ) |  |
| static

Definition at line 3308 of file valops.c.

References _, allocate_value(), BASETYPE_VIA_VIRTUAL, check_stub_method_group(), check_typedef(), compare_parameters(), cplus_make_method_ptr(), current_language, error(), EVAL_AVOID_SIDE_EFFECTS, EVAL_NORMAL, field_is_static(), gdb_assert, lookup_memberptr_type(), lookup_methodptr_type(), lookup_pointer_type(), lookup_symbol(), name, offset, read_var_value(), startswith(), block_symbol::symbol, type, TYPE_BASECLASS, TYPE_BASECLASS_BITPOS, TYPE_CODE, TYPE_CODE_MEMBERPTR, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_CONST, TYPE_FIELD, TYPE_FIELD_BITPOS, TYPE_FIELD_NAME, TYPE_FIELD_PACKED, TYPE_FIELD_TYPE, TYPE_FN_FIELD_ARTIFICIAL, TYPE_FN_FIELD_CONST, TYPE_FN_FIELD_PHYSNAME, TYPE_FN_FIELD_STATIC_P, TYPE_FN_FIELD_TYPE, TYPE_FN_FIELD_VIRTUAL_P, TYPE_FN_FIELD_VOFFSET, TYPE_FN_FIELD_VOLATILE, TYPE_FN_FIELDLIST1, TYPE_FN_FIELDLIST_LENGTH, TYPE_FN_FIELDLIST_NAME, TYPE_N_BASECLASSES, TYPE_NFIELDS, TYPE_NFN_FIELDS, TYPE_SELF_TYPE, TYPE_TARGET_TYPE, TYPE_VOLATILE, value_addr(), value_address(), value_aggregate_elt(), value_as_long(), value_cast_pointers(), value_contents_writeable(), value_from_longest(), value_from_pointer(), value_ind(), value_maybe_namespace_elt(), value_of_this_silent(), value_static_field(), value_type(), and VAR_DOMAIN.

Referenced by value_aggregate_elt().

## ◆ value_zero()

struct value* value_zero | ( | struct type * | type,
|  | enum lval_type | lv
| ) |  |

Definition at line 847 of file valops.c.

References allocate_value(), lval_computed, not_lval, and VALUE_LVAL.

Referenced by ada_evaluate_subexp(), ada_evaluate_subexp_for_cast(), cast_into_complex(), create_value(), dummy_frame_prev_register(), eval_call(), evaluate_funcall(), evaluate_subexp_for_address(), evaluate_subexp_for_cast(), evaluate_subexp_modula2(), evaluate_subexp_opencl(), evaluate_subexp_standard(), evaluate_var_msym_value(), evaluate_var_value(), dwarf_expr_context::execute_stack_op(), frame_unwind_got_address(), frame_unwind_got_bytes(), frame_unwind_got_constant(), symbol_needs_eval_context::get_reg_value(), rust_evaluate_funcall(), rust_evaluate_subexp(), rust_range(), rust_subscript(), valpy_absolute(), value_cast(), value_cast_structs(), value_dynamic_cast(), value_x_binop(), value_x_unop(), and vlscm_unop().

## Variable Documentation

## ◆ overload_debug

unsigned int overload_debug

Definition at line 124 of file gdbtypes.c.

Referenced by _initialize_gdbtypes(), find_oload_champ(), and rank_one_type().

## ◆ overload_resolution

int overload_resolution = 0

Definition at line 111 of file valops.c.

Referenced by _initialize_valops(), and evaluate_funcall().