|
GDB (xrefs)
|
#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 |
| enum oload_classification |
| 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.
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().
|
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().
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().
|
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().
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().
| int destructor_name_p | ( | const char * | name, |
| struct type * | 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().
|
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().
|
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().
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().
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().
|
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().
|
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().
|
static |
Definition at line 2831 of file valops.c.
References find_oload_champ_namespace_loop().
Referenced by find_overload_match().
|
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().
| 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().
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().
|
static |
Definition at line 3116 of file valops.c.
References TYPE_FN_FIELD_STATIC_P.
Referenced by find_oload_champ(), and find_overload_match().
| 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().
|
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().
|
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().
|
static |
Definition at line 113 of file valops.c.
References _, and fprintf_filtered().
Referenced by _initialize_valops().
|
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().
|
static |
Definition at line 1782 of file valops.c.
References _, error(), name, and TYPE_SAFE_NAME.
Referenced by do_search_struct_field().
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().
| 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().
| 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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
|
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().
| 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().
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().
| 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().
|
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().
| 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().
|
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().
| 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().
| 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().
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().
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().
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().
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().
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().
| 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().
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().
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().
| 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().
| 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().
|
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().
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().
| unsigned int overload_debug |
Definition at line 124 of file gdbtypes.c.
Referenced by _initialize_gdbtypes(), find_oload_champ(), and rank_one_type().
| int overload_resolution = 0 |
Definition at line 111 of file valops.c.
Referenced by _initialize_valops(), and evaluate_funcall().
1.8.14