GDB (xrefs)

Classes | Functions | Variables
/tmp/gdb-8.1/gdb/eval.c File Reference
`#include "defs.h"`
`#include "symtab.h"`
`#include "gdbtypes.h"`
`#include "value.h"`
`#include "expression.h"`
`#include "target.h"`
`#include "frame.h"`
`#include "gdbthread.h"`
`#include "language.h"`
`#include "f-lang.h"`
`#include "cp-abi.h"`
`#include "infcall.h"`
`#include "objc-lang.h"`
`#include "block.h"`
`#include "parser-defs.h"`
`#include "cp-support.h"`
`#include "ui-out.h"`
`#include "regcache.h"`
`#include "user-regs.h"`
`#include "valprint.h"`
`#include "gdb_obstack.h"`
`#include "objfiles.h"`
`#include "typeprint.h"`
`#include <ctype.h>`

Go to the source code of this file.

## Classes
class | fake_method
struct | fake_method::m_type

## Functions
static struct value * | evaluate_subexp_for_sizeof (struct expression *, int *, enum noside)
static struct value * | evaluate_subexp_for_address (struct expression *, int *, enum noside)
static value * | evaluate_subexp_for_cast (expression *exp, int *pos, enum noside noside, struct type *type)
static struct value * | evaluate_struct_tuple (struct value *, struct expression *, int *, enum noside, int)
static LONGEST | init_array_element (struct value *, struct value *, struct expression *, int *, enum noside, LONGEST, LONGEST)
struct value * | evaluate_subexp (struct type *expect_type, struct expression *exp, int *pos, enum noside noside)
CORE_ADDR | parse_and_eval_address (const char *exp)
LONGEST | parse_and_eval_long (const char *exp)
struct value * | parse_and_eval (const char *exp)
struct value * | parse_to_comma_and_eval (const char **expp)
struct value * | evaluate_expression (struct expression *exp)
struct value * | evaluate_type (struct expression *exp)
struct value * | evaluate_subexpression_type (struct expression *exp, int subexp)
void | fetch_subexp_value (struct expression *exp, int *pc, struct value **valp, struct value **resultp, struct value **val_chain, int preserve_errors)
char * | extract_field_op (struct expression *exp, int *subexp)
static struct value * | value_f90_subarray (struct value *array, struct expression *exp, int *pos, enum noside noside)
void | unop_promote (const struct language_defn *language, struct gdbarch *gdbarch, struct value **arg1)
void | binop_promote (const struct language_defn *language, struct gdbarch *gdbarch, struct value **arg1, struct value **arg2)
static int | ptrmath_type_p (const struct language_defn *lang, struct type *type)
value * | evaluate_var_value (enum noside noside, const block *blk, symbol *var)
value * | evaluate_var_msym_value (enum noside noside, struct objfile *objfile, minimal_symbol *msymbol)
value * | eval_skip_value (expression *exp)
static value * | eval_call (expression *exp, enum noside noside, int nargs, value **argvec, const char *function_name, type *default_return_type)
static value * | evaluate_funcall (type *expect_type, expression *exp, int *pos, enum noside noside)
struct value * | evaluate_subexp_standard (struct type *expect_type, struct expression *exp, int *pos, enum noside noside)
struct value * | evaluate_subexp_with_coercion (struct expression *exp, int *pos, enum noside noside)
static value * | evaluate_subexp_for_cast (expression *exp, int *pos, enum noside noside, struct type *to_type)
struct type * | parse_and_eval_type (char *p, int length)
int | calc_f77_array_dims (struct type *array_type)

## Variables
int | overload_resolution

## Function Documentation

## ◆ binop_promote()

void binop_promote | ( | const struct language_defn * | language,
|  | struct gdbarch * | gdbarch,
|  | struct value ** | arg1,
|  | struct value ** | arg2
| ) |  |

Definition at line 452 of file eval.c.

References builtin_type::builtin_double, builtin_type::builtin_int, builtin_type::builtin_long, builtin_type::builtin_long_double, builtin_type::builtin_long_long, builtin_type(), builtin_type::builtin_unsigned_int, builtin_type::builtin_unsigned_long, builtin_type::builtin_unsigned_long_long, check_typedef(), coerce_ref(), gdbarch_double_bit(), gdbarch_long_bit(), HOST_CHAR_BIT, is_integral_type(), language_asm, language_c, language_cplus, language_objc, language_opencl, lookup_signed_typename(), lookup_unsigned_typename(), TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_DECFLOAT, TYPE_CODE_FLT, TYPE_LENGTH, TYPE_UNSIGNED, value_cast(), and value_type().

Referenced by ada_evaluate_subexp(), and evaluate_subexp_standard().

## ◆ calc_f77_array_dims()

int calc_f77_array_dims | ( | struct type * | array_type | ) |

Definition at line 3280 of file eval.c.

References _, error(), TYPE_CODE, TYPE_CODE_ARRAY, and TYPE_TARGET_TYPE.

Referenced by evaluate_subexp_standard(), and f77_print_array().

## ◆ eval_call()

static value* eval_call | ( | expression * | exp,
|  | enum noside | noside,
|  | int | nargs,
|  | value ** | argvec,
|  | const char * | function_name,
|  | type * | default_return_type
| ) |  |
| static

Definition at line 773 of file eval.c.

References _, allocate_value(), builtin_type::builtin_int, call_function_by_hand(), call_internal_function(), call_xmethod(), error(), error_call_unknown_return_type(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, expression::language_defn, not_lval, result_type_of_xmethod(), TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_INTERNAL_FUNCTION, TYPE_CODE_METHOD, TYPE_CODE_XMETHOD, TYPE_TARGET_TYPE, value_type(), and value_zero().

Referenced by evaluate_funcall(), and evaluate_subexp_standard().

## ◆ eval_skip_value()

value* eval_skip_value | ( | expression * | exp | ) |

Definition at line 761 of file eval.c.

References builtin_type::builtin_int, expression::gdbarch, and value_from_longest().

Referenced by ada_evaluate_subexp(), ada_evaluate_subexp_for_cast(), evaluate_funcall(), evaluate_subexp_for_cast(), and evaluate_subexp_standard().

## ◆ evaluate_expression()

struct value* evaluate_expression | ( | struct expression * | exp | ) |

Definition at line 144 of file eval.c.

References EVAL_NORMAL, evaluate_subexp(), and NULL_TYPE.

Referenced by ada_read_renaming_var_value(), breakpoint_cond_eval(), do_one_display(), dump_arc_instruction_command(), encode_actions_1(), execute_control_command_1(), info_mach_region_command(), init_if_undefined_command(), mi_cmd_data_evaluate_expression(), output_command_const(), parse_and_eval(), parse_and_eval_address(), parse_and_eval_long(), parse_to_comma_and_eval(), print_command_1(), print_variable_or_computed(), return_command(), set_command(), should_stop_exception(), value_of_root_1(), varobj_create(), varobj_set_value(), and x_command().

## ◆ evaluate_funcall()

static value* evaluate_funcall | ( | type * | expect_type,
|  | expression * | exp,
|  | int * | pos,
|  | enum noside | noside
| ) |  |
| static

Definition at line 838 of file eval.c.

References _, BYTES_TO_EXP_ELEM, CATCH, check_typedef(), cp_lookup_symbol_namespace(), cplus_method_ptr_to_value(), expression::elts, END_CATCH, error(), EVAL_AVOID_SIDE_EFFECTS, eval_call(), EVAL_SKIP, eval_skip_value(), evaluate_subexp(), evaluate_subexp_for_address(), evaluate_subexp_with_coercion(), find_overload_match(), gdb_assert, get_selected_block(), language_defn::la_language, language_cplus, expression::language_defn, exp_element::longconst, longest_to_int(), lookup_pointer_type(), lval_memory, METHOD, exp_element::msymbol, MSYMBOL_PRINT_NAME, name, NON_METHOD, NOT_FOUND_ERROR, not_lval, NULL_TYPE, exp_element::opcode, overload_resolution, RETURN_MASK_ERROR, exp_element::string, exp_element::symbol, block_symbol::symbol, SYMBOL_PRINT_NAME, throw_exception(), TRY, exp_element::type, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHODPTR, TYPE_CODE_NAMESPACE, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_TYPE, TYPE_NFIELDS, TYPE_SELF_TYPE, TYPE_TAG_NAME, TYPE_TARGET_TYPE, unop_user_defined_p(), value_address(), value_as_long(), value_cast(), value_embedded_offset(), value_from_longest(), value_from_pointer(), value_ind(), value_of_variable(), value_struct_elt(), value_type(), value_x_unop(), value_zero(), and VAR_DOMAIN.

Referenced by evaluate_subexp_standard().

## ◆ evaluate_struct_tuple()

static struct value* evaluate_struct_tuple | ( | struct value * | struct_val,
|  | struct expression * | exp,
|  | int * | pos,
|  | enum noside noside | ,
|  | int | nargs
| ) |  |
| static

Definition at line 294 of file eval.c.

References _, value::bitpos, value::bitsize, check_typedef(), error(), evaluate_subexp(), field_is_static(), modify_field(), TYPE_CODE, TYPE_CODE_UNION, TYPE_FIELD, TYPE_FIELD_BITPOS, TYPE_FIELD_BITSIZE, TYPE_FIELD_NAME, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, value_as_long(), value_cast(), value_contents(), value_contents_writeable(), and value_type().

Referenced by evaluate_subexp_standard().

## ◆ evaluate_subexp()

struct value* evaluate_subexp | ( | struct type * | expect_type,
|  | struct expression * | exp,
|  | int * | pos,
|  | enum noside noside |
| ) |  |

Definition at line 69 of file eval.c.

References do_cleanups(), enable_thread_stack_temporaries(), exp_descriptor::evaluate_exp, inferior_ptid, language_defn::la_exp_desc, language_defn::la_language, language_cplus, expression::language_defn, target_has_execution, thread_stack_temporaries_enabled_p(), value_in_thread_stack_temporaries(), and value_non_lval().

Referenced by ada_evaluate_subexp(), ada_evaluate_subexp_for_cast(), evaluate_expression(), evaluate_funcall(), evaluate_struct_tuple(), evaluate_subexp_for_address(), evaluate_subexp_for_cast(), evaluate_subexp_for_sizeof(), evaluate_subexp_opencl(), evaluate_subexp_standard(), evaluate_subexp_type(), evaluate_subexp_with_coercion(), evaluate_subexpression_type(), evaluate_type(), fetch_subexp_value(), gen_expr(), init_array_element(), print_object_command(), rust_evaluate_funcall(), rust_evaluate_subexp(), rust_range(), rust_subscript(), and value_f90_subarray().

## ◆ evaluate_subexp_for_address()

static struct value* evaluate_subexp_for_address | ( | struct expression * | exp,
|  | int * | pos,
|  | enum noside noside |
| ) |  |
| static

Definition at line 2919 of file eval.c.

References _, address_of_variable(), exp_element::block, BYTES_TO_EXP_ELEM, check_typedef(), coerce_array(), expression::elts, error(), EVAL_AVOID_SIDE_EFFECTS, evaluate_subexp(), evaluate_var_msym_value(), LOC_CONST, LOC_CONST_BYTES, LOC_REGISTER, exp_element::longconst, longest_to_int(), lookup_pointer_type(), lval_memory, exp_element::msymbol, not_lval, NULL_TYPE, exp_element::objfile, exp_element::opcode, exp_element::string, exp_element::symbol, SYMBOL_CLASS, SYMBOL_TYPE, exp_element::type, type, TYPE_IS_REFERENCE, TYPE_TARGET_TYPE, unop_user_defined_p(), value_addr(), value_aggregate_elt(), value_cast(), VALUE_LVAL, value_must_coerce_to_target(), value_type(), value_x_unop(), and value_zero().

Referenced by evaluate_funcall(), and evaluate_subexp_standard().

## ◆ evaluate_subexp_for_cast() [1/2]

static value* evaluate_subexp_for_cast | ( | expression * | exp,
|  | int * | pos,
|  | enum noside | noside,
|  | struct type * | type
| ) |  |
| static

Referenced by evaluate_subexp_standard().

## ◆ evaluate_subexp_for_cast() [2/2]

static value* evaluate_subexp_for_cast | ( | expression * | exp,
|  | int * | pos,
|  | enum noside | noside,
|  | struct type * | to_type
| ) |  |
| static

Definition at line 3211 of file eval.c.

References exp_element::block, expression::elts, EVAL_AVOID_SIDE_EFFECTS, EVAL_SKIP, eval_skip_value(), evaluate_subexp(), evaluate_var_msym_value(), evaluate_var_value(), lval_memory, exp_element::msymbol, not_lval, exp_element::objfile, exp_element::opcode, exp_element::symbol, value_cast(), value_fetch_lazy(), value_lazy(), VALUE_LVAL, and value_zero().

## ◆ evaluate_subexp_for_sizeof()

static struct value* evaluate_subexp_for_sizeof | ( | struct expression * | exp,
|  | int * | pos,
|  | enum noside noside |
| ) |  |
| static

Definition at line 3088 of file eval.c.

References _, builtin_type::builtin_int, builtin_type(), check_typedef(), expression::elts, error(), error_unknown_type(), EVAL_AVOID_SIDE_EFFECTS, EVAL_NORMAL, evaluate_subexp(), evaluate_var_msym_value(), expression::gdbarch, is_dynamic_type(), language_defn::la_language, language_cplus, expression::language_defn, exp_element::msymbol, MSYMBOL_PRINT_NAME, NULL_TYPE, exp_element::objfile, exp_element::opcode, exp_element::symbol, SYMBOL_TYPE, exp_element::type, type, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_ERROR, TYPE_CODE_PTR, TYPE_INDEX_TYPE, TYPE_IS_REFERENCE, TYPE_LENGTH, TYPE_RANGE_DATA, TYPE_TARGET_TYPE, value_from_longest(), value_ind(), and value_type().

Referenced by evaluate_subexp_standard().

## ◆ evaluate_subexp_standard()

struct value* evaluate_subexp_standard | ( | struct type * | expect_type,
|  | struct expression * | exp,
|  | int * | pos,
|  | enum noside noside |
| ) |  |

Definition at line 1240 of file eval.c.

References _, access_value_history(), frame_info::addr, allocate_repeat_value(), allocate_value(), binop_promote(), binop_user_defined_p(), exp_element::block, block_symbol::block, block_for_pc(), builtin_type::builtin_data_ptr, builtin_type::builtin_int, builtin_type::builtin_long, builtin_type(), BYTES_TO_EXP_ELEM, calc_f77_array_dims(), call_function_by_hand(), CATCH, check_typedef(), code, coerce_ref(), cplus_method_ptr_to_value(), cplus_typeid(), cplus_typeid_type(), current_target, deprecated_set_value_type(), expression::elts, END_CATCH, error(), error_unknown_type(), EVAL_AVOID_SIDE_EFFECTS, eval_call(), EVAL_NORMAL, EVAL_SKIP, eval_skip_value(), evaluate_funcall(), evaluate_struct_tuple(), evaluate_subexp(), evaluate_subexp_for_address(), evaluate_subexp_for_cast(), evaluate_subexp_for_sizeof(), evaluate_subexp_with_coercion(), evaluate_var_msym_value(), evaluate_var_value(), f77_get_lowerbound(), find_function_addr(), find_function_in_inferior(), find_pc_function(), flags, exp_element::floatconst, func, gdb_assert, gdb_assert_not_reached, expression::gdbarch, gdbarch_bits_big_endian(), gdbarch_convert_from_func_ptr_addr(), gdbarch_num_pseudo_regs(), gdbarch_num_regs(), get_discrete_bounds(), get_selected_frame(), get_user_print_options(), init_array_element(), exp_element::internalvar, is_integral_type(), language_bool_type(), expression::language_defn, language_string_char_type(), exp_element::longconst, longest_to_int(), lookup_child_selector(), lookup_function_type(), lookup_lvalue_reference_type(), lookup_minimal_symbol(), lookup_pointer_type(), lookup_symbol(), lval_memory, MAX_FORTRAN_DIMS, memset(), exp_element::msymbol, MSYMBOL_PRINT_NAME, name, NOT_FOUND_ERROR, not_lval, NULL_TYPE, value_print_options::objectprint, exp_element::objfile, exp_element::opcode, ptrmath_type_p(), register_type(), RETURN_MASK_ERROR, selector, exp_element::string, exp_element::symbol, block_symbol::symbol, SYMBOL_COMPUTED_OPS, SYMBOL_PRINT_NAME, SYMBOL_TYPE, TARGET_CHAR_BIT, throw_exception(), TRY, exp_element::type, type, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_ENUM, TYPE_CODE_ERROR, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHODPTR, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_SET, TYPE_CODE_STRING, TYPE_CODE_STRUCT, TYPE_CODE_TYPEDEF, TYPE_INDEX_TYPE, TYPE_IS_REFERENCE, TYPE_LENGTH, TYPE_NAME, TYPE_SELF_TYPE, TYPE_TARGET_TYPE, unop_promote(), unop_user_defined_p(), user_reg_map_name_to_regnum(), using_struct_return(), value_address(), value_aggregate_elt(), value_array(), value_as_address(), value_as_long(), value_assign(), value_at_lazy(), value_binop(), value_cast(), value_cast_pointers(), value_complement(), value_concat(), value_contents(), value_contents_raw(), value_dynamic_cast(), value_equal(), value_f90_subarray(), value_from_contents(), value_from_longest(), value_from_pointer(), value_ind(), value_less(), value_literal_complex(), value_logical_not(), VALUE_LVAL, value_neg(), value_non_lval(), value_nsstring(), value_of_internalvar(), value_of_register(), value_of_this(), value_of_variable(), value_one(), value_pos(), value_ptradd(), value_ptrdiff(), value_reinterpret_cast(), value_repeat(), value_rtti_indirect_type(), value_slice(), value_string(), value_struct_elt(), value_subscript(), value_subscripted_rvalue(), value_type(), value_x_binop(), value_x_unop(), value_zero(), VAR_DOMAIN, and warning().

Referenced by ada_evaluate_subexp(), dtrace_probe::evaluate_argument(), stap_probe::evaluate_argument(), evaluate_subexp_c(), evaluate_subexp_modula2(), rust_evaluate_funcall(), and rust_evaluate_subexp().

## ◆ evaluate_subexp_with_coercion()

struct value* evaluate_subexp_with_coercion | ( | struct expression * | exp,
|  | int * | pos,
|  | enum noside noside |
| ) |  |

Definition at line 3048 of file eval.c.

References address_of_variable(), exp_element::block, CAST_IS_CONVERSION, check_typedef(), expression::elts, evaluate_subexp(), expression::language_defn, lookup_pointer_type(), NULL_TYPE, exp_element::opcode, exp_element::symbol, SYMBOL_TYPE, type, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_TARGET_TYPE, TYPE_VECTOR, and value_cast().

Referenced by ada_evaluate_subexp(), evaluate_funcall(), evaluate_subexp_modula2(), and evaluate_subexp_standard().

## ◆ evaluate_subexpression_type()

struct value* evaluate_subexpression_type | ( | struct expression * | exp,
|  | int | subexp
| ) |  |

Definition at line 166 of file eval.c.

References EVAL_AVOID_SIDE_EFFECTS, evaluate_subexp(), and NULL_TYPE.

Referenced by parse_expression_for_completion().

## ◆ evaluate_type()

struct value* evaluate_type | ( | struct expression * | exp | ) |

Definition at line 155 of file eval.c.

References EVAL_AVOID_SIDE_EFFECTS, evaluate_subexp(), and NULL_TYPE.

Referenced by gnuv3_get_type_from_type_info(), maintenance_print_type(), print_variable_or_computed(), varobj_create(), and whatis_exp().

## ◆ evaluate_var_msym_value()

value* evaluate_var_msym_value | ( | enum noside noside | ,
|  | struct objfile * | objfile,
|  | minimal_symbol * | msymbol
| ) |  |

Definition at line 742 of file eval.c.

References value::address, EVAL_AVOID_SIDE_EFFECTS, find_minsym_type_and_address(), not_lval, value_at_lazy(), and value_zero().

Referenced by ada_evaluate_subexp_for_cast(), evaluate_subexp_for_address(), evaluate_subexp_for_cast(), evaluate_subexp_for_sizeof(), evaluate_subexp_standard(), and resolve_subexp().

## ◆ evaluate_var_value()

value* evaluate_var_value | ( | enum noside noside | ,
|  | const block * | blk,
|  | symbol * | var
| ) |  |

Definition at line 709 of file eval.c.

References CATCH, END_CATCH, EVAL_AVOID_SIDE_EFFECTS, not_lval, RETURN_MASK_ERROR, SYMBOL_TYPE, throw_exception(), TRY, value_of_variable(), and value_zero().

Referenced by ada_evaluate_subexp_for_cast(), evaluate_subexp_for_cast(), and evaluate_subexp_standard().

## ◆ extract_field_op()

char* extract_field_op | ( | struct expression * | exp,
|  | int * | subexp
| ) |  |

Definition at line 276 of file eval.c.

References BYTES_TO_EXP_ELEM, expression::elts, exp_element::longconst, longest_to_int(), exp_element::opcode, and exp_element::string.

Referenced by parse_expression_for_completion().

## ◆ fetch_subexp_value()

void fetch_subexp_value | ( | struct expression * | exp,
|  | int * | pc,
|  | struct value ** | valp,
|  | struct value ** | resultp,
|  | struct value ** | val_chain,
|  | int | preserve_errors
| ) |  |

Definition at line 195 of file eval.c.

References CATCH, END_CATCH, EVAL_NORMAL, evaluate_subexp(), MEMORY_ERROR, NULL_TYPE, RETURN_MASK_ALL, RETURN_MASK_ERROR, throw_exception(), TRY, value_fetch_lazy(), value_lazy(), value_mark(), and value_release_to_mark().

Referenced by check_condition(), update_watchpoint(), watch_command_1(), and watchpoint_check().

## ◆ init_array_element()

static LONGEST init_array_element | ( | struct value * | array,
|  | struct value * | element,
|  | struct expression * | exp,
|  | int * | pos,
|  | enum noside noside | ,
|  | LONGEST | low_bound,
|  | LONGEST | high_bound
| ) |  |
| static

Definition at line 361 of file eval.c.

References _, expression::elts, error(), evaluate_subexp(), NULL_TYPE, exp_element::opcode, TYPE_LENGTH, value_as_long(), value_contents(), value_contents_raw(), and value_type().

Referenced by evaluate_subexp_standard().

## ◆ parse_and_eval()

struct value* parse_and_eval | ( | const char * | exp | ) |

Definition at line 119 of file eval.c.

References evaluate_expression(), and parse_expression().

Referenced by ada_exception_message_1(), dump_value_to_file(), gdbpy_parse_and_eval(), gdbscm_parse_and_eval(), ignore_command(), info_task(), info_vtbl_command(), mi_cmd_thread_select(), mi_cmd_trace_define_variable(), parse_frame_specification(), print_ada_task_info(), quit_command(), task_command_1(), and trace_variable_command().

## ◆ parse_and_eval_address()

CORE_ADDR parse_and_eval_address | ( | const char * | exp | ) |

Definition at line 101 of file eval.c.

References evaluate_expression(), parse_expression(), and value_as_address().

Referenced by ada_exception_name_addr_1(), ada_unhandled_exception_name_addr(), ada_unhandled_exception_name_addr_from_raise(), add_symbol_file_command(), add_symbol_file_from_memory_command(), adi_assign_command(), adi_examine_command(), bsd_kvm_pcb_cmd(), bsd_kvm_proc_cmd(), disassemble_command(), dump_memory_to_file(), go32_pte_for_address(), i386_mpx_info_bounds(), info_symbol_command(), maintenance_print_psymbols(), maintenance_print_symbols(), maintenance_translate_address(), mem_command(), mi_cmd_data_read_memory(), mi_cmd_data_read_memory_bytes(), mi_cmd_data_write_memory(), mi_cmd_data_write_memory_bytes(), mi_cmd_data_write_register_values(), mi_cmd_disassemble(), mi_cmd_trace_find(), remove_symbol_file_command(), restore_command(), set_section_command(), set_task_exc_port_cmd(), set_thread_exc_port_cmd(), tfind_outside_command(), tfind_pc_command(), tfind_range_command(), and unwind_command().

## ◆ parse_and_eval_long()

LONGEST parse_and_eval_long | ( | const char * | exp | ) |

Definition at line 111 of file eval.c.

References evaluate_expression(), parse_expression(), and value_as_long().

Referenced by add_inferior_command(), adi_assign_command(), backtrace_command_1(), breakpoint_1(), call_lseek(), clone_inferior_command(), continue_command(), delete_checkpoint_command(), detach_checkpoint_command(), display_selectors(), do_set_command(), down_silently_base(), go32_pde(), go32_pte(), go32_sgdt(), go32_sidt(), go32_sldt(), i386_linux_handle_segmentation_fault(), inferior_command(), info_checkpoints_command(), info_signals_command(), maintenance_info_program_spaces_command(), queue_signal_command(), record_goto(), restart_command(), restore_command(), set_radix(), show_commands(), show_values(), signal_command(), sparc64_linux_handle_segmentation_fault(), step_1(), tfind_command_1(), tfind_tracepoint_command(), and up_silently_base().

## ◆ parse_and_eval_type()

struct type* parse_and_eval_type | ( | char * | p,
|  | int | length
| ) |  |

Definition at line 3264 of file eval.c.

References _, error(), type::length, and parse_expression().

Referenced by safe_parse_type().

## ◆ parse_to_comma_and_eval()

struct value* parse_to_comma_and_eval | ( | const char ** | expp | ) |

Definition at line 131 of file eval.c.

References evaluate_expression(), and parse_exp_1().

Referenced by disassemble_command(), i386_mpx_set_bounds(), info_port_rights(), linespec_expression_to_pc(), parse_find_args(), ui_printf(), and watch_command_1().

## ◆ ptrmath_type_p()

static int ptrmath_type_p | ( | const struct language_defn * | lang,
|  | struct type * | type
| ) |  |
| static

Definition at line 625 of file eval.c.

References language_defn::c_style_arrays, check_typedef(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_IS_REFERENCE, TYPE_TARGET_TYPE, and TYPE_VECTOR.

Referenced by evaluate_subexp_standard().

## ◆ unop_promote()

void unop_promote | ( | const struct language_defn * | language,
|  | struct gdbarch * | gdbarch,
|  | struct value ** | arg1
| ) |  |

Definition at line 419 of file eval.c.

References builtin_type::builtin_int, builtin_type(), check_typedef(), coerce_ref(), is_integral_type(), TYPE_LENGTH, value_cast(), and value_type().

Referenced by ada_evaluate_subexp(), and evaluate_subexp_standard().

## ◆ value_f90_subarray()

static struct value* value_f90_subarray | ( | struct value * | array,
|  | struct expression * | exp,
|  | int * | pos,
|  | enum noside | noside
| ) |  |
| static

Definition at line 388 of file eval.c.

References BOTH_BOUND_DEFAULT, check_typedef(), expression::elts, evaluate_subexp(), HIGH_BOUND_DEFAULT, exp_element::longconst, longest_to_int(), LOW_BOUND_DEFAULT, NULL_TYPE, TYPE_HIGH_BOUND, TYPE_INDEX_TYPE, TYPE_LOW_BOUND, value_as_long(), value_slice(), and value_type().

Referenced by evaluate_subexp_standard().

## Variable Documentation

## ◆ overload_resolution

int overload_resolution

Definition at line 111 of file valops.c.

Referenced by _initialize_valops(), and evaluate_funcall().