GDB (xrefs)
|
#include "block.h"
#include "c-lang.h"
#include "cp-abi.h"
#include "expression.h"
#include "objfiles.h"
#include "gdbsupport/traits.h"
#include "gdbsupport/enum-flags.h"
Go to the source code of this file.
Namespaces | |
namespace | expr |
Typedefs | |
typedef std::array< gdb_byte, 16 > | expr::float_data |
typedef struct value * | expr::binary_ftype(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
using | expr::exp_operation = binop_operation< BINOP_EXP, eval_op_binary > |
using | expr::intdiv_operation = binop_operation< BINOP_INTDIV, eval_op_binary > |
using | expr::mod_operation = binop_operation< BINOP_MOD, eval_op_binary > |
using | expr::mul_operation = usual_ax_binop_operation< BINOP_MUL, eval_op_binary > |
using | expr::div_operation = usual_ax_binop_operation< BINOP_DIV, eval_op_binary > |
using | expr::rem_operation = usual_ax_binop_operation< BINOP_REM, eval_op_binary > |
using | expr::lsh_operation = usual_ax_binop_operation< BINOP_LSH, eval_op_binary > |
using | expr::rsh_operation = usual_ax_binop_operation< BINOP_RSH, eval_op_binary > |
using | expr::bitwise_and_operation = usual_ax_binop_operation< BINOP_BITWISE_AND, eval_op_binary > |
using | expr::bitwise_ior_operation = usual_ax_binop_operation< BINOP_BITWISE_IOR, eval_op_binary > |
using | expr::bitwise_xor_operation = usual_ax_binop_operation< BINOP_BITWISE_XOR, eval_op_binary > |
using | expr::notequal_operation = comparison_operation< BINOP_NOTEQUAL, eval_op_notequal > |
using | expr::less_operation = comparison_operation< BINOP_LESS, eval_op_less > |
using | expr::gtr_operation = comparison_operation< BINOP_GTR, eval_op_gtr > |
using | expr::geq_operation = comparison_operation< BINOP_GEQ, eval_op_geq > |
using | expr::leq_operation = comparison_operation< BINOP_LEQ, eval_op_leq > |
typedef struct value * | expr::unary_ftype(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1) |
using | expr::unary_plus_operation = usual_ax_unop_operation< UNOP_PLUS, eval_op_plus > |
using | expr::unary_neg_operation = usual_ax_unop_operation< UNOP_NEG, eval_op_neg > |
using | expr::unary_complement_operation = usual_ax_unop_operation< UNOP_COMPLEMENT, eval_op_complement > |
using | expr::unary_logical_not_operation = usual_ax_unop_operation< UNOP_LOGICAL_NOT, eval_op_lognot > |
using | expr::preinc_operation = unop_incr_operation< UNOP_PREINCREMENT, eval_op_preinc > |
using | expr::predec_operation = unop_incr_operation< UNOP_PREDECREMENT, eval_op_predec > |
using | expr::postinc_operation = unop_incr_operation< UNOP_POSTINCREMENT, eval_op_postinc > |
using | expr::postdec_operation = unop_incr_operation< UNOP_POSTDECREMENT, eval_op_postdec > |
typedef value * | expr::cxx_cast_ftype(struct type *, value *) |
using | expr::dynamic_cast_operation = cxx_cast_operation< UNOP_DYNAMIC_CAST, value_dynamic_cast > |
using | expr::reinterpret_cast_operation = cxx_cast_operation< UNOP_REINTERPRET_CAST, value_reinterpret_cast > |
Functions | |
void | gen_expr_binop (struct expression *exp, enum exp_opcode op, expr::operation *lhs, expr::operation *rhs, struct agent_expr *ax, struct axs_value *value) |
void | gen_expr_structop (struct expression *exp, enum exp_opcode op, expr::operation *lhs, const char *name, struct agent_expr *ax, struct axs_value *value) |
void | gen_expr_unop (struct expression *exp, enum exp_opcode op, expr::operation *lhs, struct agent_expr *ax, struct axs_value *value) |
struct value * | eval_op_scope (struct type *expect_type, struct expression *exp, enum noside noside, struct type *type, const char *string) |
struct value * | eval_op_var_msym_value (struct type *expect_type, struct expression *exp, enum noside noside, bool outermost_p, bound_minimal_symbol msymbol) |
struct value * | eval_op_var_entry_value (struct type *expect_type, struct expression *exp, enum noside noside, symbol *sym) |
struct value * | eval_op_func_static_var (struct type *expect_type, struct expression *exp, enum noside noside, value *func, const char *var) |
struct value * | eval_op_register (struct type *expect_type, struct expression *exp, enum noside noside, const char *name) |
struct value * | eval_op_ternop (struct type *expect_type, struct expression *exp, enum noside noside, struct value *array, struct value *low, struct value *upper) |
struct value * | eval_op_structop_struct (struct type *expect_type, struct expression *exp, enum noside noside, struct value *arg1, const char *string) |
struct value * | eval_op_structop_ptr (struct type *expect_type, struct expression *exp, enum noside noside, struct value *arg1, const char *string) |
struct value * | eval_op_member (struct type *expect_type, struct expression *exp, enum noside noside, struct value *arg1, struct value *arg2) |
struct value * | eval_op_add (struct type *expect_type, struct expression *exp, enum noside noside, struct value *arg1, struct value *arg2) |
struct value * | eval_op_sub (struct type *expect_type, struct expression *exp, enum noside noside, struct value *arg1, struct value *arg2) |
struct value * | eval_op_binary (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
struct value * | eval_op_subscript (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
struct value * | eval_op_equal (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
struct value * | eval_op_notequal (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
struct value * | eval_op_less (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
struct value * | eval_op_gtr (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
struct value * | eval_op_geq (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
struct value * | eval_op_leq (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
struct value * | eval_op_repeat (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
struct value * | eval_op_plus (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1) |
struct value * | eval_op_neg (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1) |
struct value * | eval_op_complement (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1) |
struct value * | eval_op_lognot (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1) |
struct value * | eval_op_preinc (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1) |
struct value * | eval_op_predec (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1) |
struct value * | eval_op_postinc (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1) |
struct value * | eval_op_postdec (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1) |
struct value * | eval_op_ind (struct type *expect_type, struct expression *exp, enum noside noside, struct value *arg1) |
struct value * | eval_op_type (struct type *expect_type, struct expression *exp, enum noside noside, struct type *type) |
struct value * | eval_op_alignof (struct type *expect_type, struct expression *exp, enum noside noside, struct value *arg1) |
struct value * | eval_op_memval (struct type *expect_type, struct expression *exp, enum noside noside, struct value *arg1, struct type *type) |
struct value * | eval_binop_assign_modify (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
static bool | expr::check_objfile (struct objfile *exp_objfile, struct objfile *objfile) |
static bool | expr::check_objfile (struct type *type, struct objfile *objfile) |
static bool | expr::check_objfile (struct symbol *sym, struct objfile *objfile) |
static bool | expr::check_objfile (const struct block *block, struct objfile *objfile) |
static bool | expr::check_objfile (const block_symbol &sym, struct objfile *objfile) |
static bool | expr::check_objfile (bound_minimal_symbol minsym, struct objfile *objfile) |
static bool | expr::check_objfile (internalvar *ivar, struct objfile *objfile) |
static bool | expr::check_objfile (const std::string &str, struct objfile *objfile) |
static bool | expr::check_objfile (const operation_up &op, struct objfile *objfile) |
static bool | expr::check_objfile (enum exp_opcode val, struct objfile *objfile) |
static bool | expr::check_objfile (ULONGEST val, struct objfile *objfile) |
template<typename T > | |
static bool | expr::check_objfile (enum_flags< T > val, struct objfile *objfile) |
template<typename T > | |
static bool | expr::check_objfile (const std::vector< T > &collection, struct objfile *objfile) |
template<typename S , typename T > | |
static bool | expr::check_objfile (const std::pair< S, T > &item, struct objfile *objfile) |
bool | expr::check_objfile (const std::unique_ptr< ada_component > &comp, struct objfile *objfile) |
static void | expr::dump_for_expression (struct ui_file *stream, int depth, const operation_up &op) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, enum exp_opcode op) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, const std::string &str) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, struct type *type) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, CORE_ADDR addr) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, internalvar *ivar) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, symbol *sym) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, const block_symbol &sym) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, bound_minimal_symbol msym) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, const block *bl) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, type_instance_flags flags) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, enum c_string_type_values flags) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, enum range_flag flags) |
void | expr::dump_for_expression (struct ui_file *stream, int depth, const std::unique_ptr< ada_component > &comp) |
template<typename T > | |
void | expr::dump_for_expression (struct ui_file *stream, int depth, const std::vector< T > &vals) |
template<typename X , typename Y > | |
void | expr::dump_for_expression (struct ui_file *stream, int depth, const std::pair< X, Y > &vals) |
static bool | expr::check_constant (const operation_up &item) |
static bool | expr::check_constant (bound_minimal_symbol msym) |
static bool | expr::check_constant (struct type *type) |
static bool | expr::check_constant (const struct block *block) |
static bool | expr::check_constant (const std::string &str) |
static bool | expr::check_constant (ULONGEST cst) |
static bool | expr::check_constant (struct symbol *sym) |
static bool | expr::check_constant (const block_symbol &sym) |
template<typename T > | |
static bool | expr::check_constant (const std::vector< T > &collection) |
template<typename S , typename T > | |
static bool | expr::check_constant (const std::pair< S, T > &item) |
struct value * eval_binop_assign_modify | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1880 of file eval.c.
References binop_promote(), binop_user_defined_p(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, is_integral_type(), expression::language_defn, ptrmath_type_p(), unop_promote(), value_as_long(), value_assign(), value_binop(), value_ptradd(), value_type(), and value_x_binop().
Referenced by expr::assign_modify_operation::evaluate().
struct value * eval_op_add | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1321 of file eval.c.
References binop_promote(), binop_user_defined_p(), expression::gdbarch, is_integral_or_integral_reference(), expression::language_defn, ptrmath_type_p(), value_as_long(), value_binop(), value_ptradd(), value_type(), and value_x_binop().
Referenced by expr::add_operation::evaluate().
struct value * eval_op_alignof | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct value * | arg1 | ||
) |
Definition at line 1709 of file eval.c.
References builtin_type::builtin_int, expression::gdbarch, type_align(), value_from_longest(), and value_type().
Referenced by expr::unop_alignof_operation::evaluate().
struct value * eval_op_binary | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1369 of file eval.c.
References binop_promote(), binop_user_defined_p(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, is_integral_type(), expression::language_defn, unop_promote(), value_binop(), value_logical_not(), value_one(), value_type(), and value_x_binop().
Referenced by expr::ada_bitwise_operation< OP >::evaluate().
struct value * eval_op_complement | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1 | ||
) |
Definition at line 1626 of file eval.c.
References expression::gdbarch, expression::language_defn, unop_promote(), unop_user_defined_p(), value_complement(), and value_x_unop().
struct value * eval_op_equal | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1448 of file eval.c.
References binop_promote(), binop_user_defined_p(), expression::gdbarch, language_bool_type(), expression::language_defn, value_equal(), value_from_longest(), and value_x_binop().
struct value * eval_op_func_static_var | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
value * | func, | ||
const char * | var | ||
) |
Definition at line 1126 of file eval.c.
References block_symbol::block, block_for_pc(), evaluate_var_value(), func, lookup_symbol(), block_symbol::symbol, value_address(), and VAR_DOMAIN.
Referenced by expr::func_static_var_operation::evaluate().
struct value * eval_op_geq | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1532 of file eval.c.
References binop_promote(), binop_user_defined_p(), expression::gdbarch, language_bool_type(), expression::language_defn, value_equal(), value_from_longest(), value_less(), and value_x_binop().
struct value * eval_op_gtr | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1511 of file eval.c.
References binop_promote(), binop_user_defined_p(), expression::gdbarch, language_bool_type(), expression::language_defn, value_from_longest(), value_less(), and value_x_binop().
struct value * eval_op_ind | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct value * | arg1 | ||
) |
Definition at line 1659 of file eval.c.
References builtin_type::builtin_int, check_typedef(), type::code(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, is_dynamic_type(), type::is_pointer_or_reference(), lval_memory, type::target_type(), unop_user_defined_p(), value_as_address(), value_at_lazy(), value_ind(), value_type(), value_x_unop(), and value_zero().
Referenced by expr::unop_ind_base_operation::evaluate().
struct value * eval_op_leq | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1553 of file eval.c.
References binop_promote(), binop_user_defined_p(), expression::gdbarch, language_bool_type(), expression::language_defn, value_equal(), value_from_longest(), value_less(), and value_x_binop().
struct value * eval_op_less | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1490 of file eval.c.
References binop_promote(), binop_user_defined_p(), expression::gdbarch, language_bool_type(), expression::language_defn, value_from_longest(), value_less(), and value_x_binop().
struct value * eval_op_lognot | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1 | ||
) |
Definition at line 1642 of file eval.c.
References expression::gdbarch, language_bool_type(), expression::language_defn, unop_user_defined_p(), value_from_longest(), value_logical_not(), and value_x_unop().
struct value * eval_op_member | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1281 of file eval.c.
References check_typedef(), code, type::code(), cplus_method_ptr_to_value(), EVAL_AVOID_SIDE_EFFECTS, lookup_pointer_type(), not_lval, type::target_type(), TYPE_SELF_TYPE, value_as_long(), value_cast_pointers(), value_from_pointer(), value_ind(), value_type(), and value_zero().
Referenced by expr::structop_member_operation::evaluate(), and expr::structop_mptr_operation::evaluate().
struct value * eval_op_memval | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct value * | arg1, | ||
struct type * | type | ||
) |
Definition at line 1725 of file eval.c.
References EVAL_AVOID_SIDE_EFFECTS, lval_memory, value_as_address(), value_at_lazy(), and value_zero().
Referenced by expr::unop_memval_operation::evaluate(), and expr::unop_memval_type_operation::evaluate().
struct value * eval_op_neg | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1 | ||
) |
Definition at line 1610 of file eval.c.
References expression::gdbarch, expression::language_defn, unop_promote(), unop_user_defined_p(), value_neg(), and value_x_unop().
struct value * eval_op_notequal | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1469 of file eval.c.
References binop_promote(), binop_user_defined_p(), expression::gdbarch, language_bool_type(), expression::language_defn, value_equal(), value_from_longest(), and value_x_binop().
struct value * eval_op_plus | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1 | ||
) |
Definition at line 1594 of file eval.c.
References expression::gdbarch, expression::language_defn, unop_promote(), unop_user_defined_p(), value_pos(), and value_x_unop().
struct value * eval_op_postdec | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1 | ||
) |
Definition at line 1834 of file eval.c.
References binop_promote(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, expression::language_defn, ptrmath_type_p(), unop_user_defined_p(), value_assign(), value_binop(), value_non_lval(), value_one(), value_ptradd(), value_type(), and value_x_unop().
struct value * eval_op_postinc | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1 | ||
) |
Definition at line 1800 of file eval.c.
References binop_promote(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, expression::language_defn, ptrmath_type_p(), unop_user_defined_p(), value_assign(), value_binop(), value_non_lval(), value_one(), value_ptradd(), value_type(), and value_x_unop().
struct value * eval_op_predec | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1 | ||
) |
Definition at line 1769 of file eval.c.
References binop_promote(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, expression::language_defn, ptrmath_type_p(), unop_user_defined_p(), value_assign(), value_binop(), value_one(), value_ptradd(), value_type(), and value_x_unop().
struct value * eval_op_preinc | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1 | ||
) |
Definition at line 1738 of file eval.c.
References binop_promote(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, expression::language_defn, ptrmath_type_p(), unop_user_defined_p(), value_assign(), value_binop(), value_one(), value_ptradd(), value_type(), and value_x_unop().
struct value * eval_op_register | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
const char * | name | ||
) |
Definition at line 1141 of file eval.c.
References EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, gdbarch_num_cooked_regs(), get_selected_frame(), name, not_lval, register_type(), user_reg_map_name_to_regnum(), value_of_register(), and value_zero().
Referenced by expr::register_operation::evaluate().
struct value * eval_op_repeat | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1574 of file eval.c.
References allocate_repeat_value(), check_typedef(), type::code(), EVAL_AVOID_SIDE_EFFECTS, longest_to_int(), value_as_long(), value_repeat(), and value_type().
struct value * eval_op_scope | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct type * | type, | ||
const char * | string | ||
) |
Definition at line 1077 of file eval.c.
References value_aggregate_elt().
Referenced by expr::scope_operation::evaluate().
struct value * eval_op_structop_ptr | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct value * | arg1, | ||
const char * | string | ||
) |
Definition at line 1225 of file eval.c.
References type::code(), EVAL_AVOID_SIDE_EFFECTS, get_user_print_options(), type::target_type(), unop_user_defined_p(), value_cast(), VALUE_LVAL, value_rtti_indirect_type(), value_struct_elt(), value_type(), value_x_unop(), and value_zero().
Referenced by expr::structop_ptr_operation::evaluate().
struct value * eval_op_structop_struct | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct value * | arg1, | ||
const char * | string | ||
) |
Definition at line 1211 of file eval.c.
References EVAL_AVOID_SIDE_EFFECTS, VALUE_LVAL, value_struct_elt(), value_type(), and value_zero().
Referenced by expr::structop_operation::evaluate().
struct value * eval_op_sub | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1343 of file eval.c.
References binop_promote(), binop_user_defined_p(), builtin_type::builtin_long, expression::gdbarch, is_integral_or_integral_reference(), expression::language_defn, ptrmath_type_p(), value_as_long(), value_binop(), value_from_longest(), value_ptradd(), value_ptrdiff(), value_type(), and value_x_binop().
Referenced by expr::sub_operation::evaluate().
struct value * eval_op_subscript | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 | ||
) |
Definition at line 1414 of file eval.c.
References binop_user_defined_p(), check_typedef(), type::code(), coerce_ref(), EVAL_AVOID_SIDE_EFFECTS, type::name(), type::target_type(), value_as_long(), VALUE_LVAL, value_subscript(), value_type(), value_x_binop(), and value_zero().
struct value * eval_op_ternop | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct value * | array, | ||
struct value * | low, | ||
struct value * | upper | ||
) |
Definition at line 1199 of file eval.c.
References value_as_long(), and value_slice().
Referenced by expr::ternop_slice_operation::evaluate().
struct value * eval_op_type | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
struct type * | type | ||
) |
Definition at line 1868 of file eval.c.
References allocate_value(), and EVAL_AVOID_SIDE_EFFECTS.
Referenced by expr::type_operation::evaluate().
struct value * eval_op_var_entry_value | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
symbol * | sym | ||
) |
Definition at line 1091 of file eval.c.
References EVAL_AVOID_SIDE_EFFECTS, get_selected_frame(), not_lval, general_symbol_info::print_name(), SYMBOL_COMPUTED_OPS, symbol::type(), and value_zero().
Referenced by expr::var_entry_value_operation::evaluate().
struct value * eval_op_var_msym_value | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside | noside, | ||
bool | outermost_p, | ||
bound_minimal_symbol | msymbol | ||
) |
Definition at line 1109 of file eval.c.
References type::code(), error_unknown_type(), EVAL_AVOID_SIDE_EFFECTS, evaluate_var_msym_value(), bound_minimal_symbol::minsym, bound_minimal_symbol::objfile, general_symbol_info::print_name(), and value_type().
Referenced by expr::var_msym_value_operation::evaluate().
void gen_expr_binop | ( | struct expression * | exp, |
enum exp_opcode | op, | ||
expr::operation * | lhs, | ||
expr::operation * | rhs, | ||
struct agent_expr * | ax, | ||
struct axs_value * | value | ||
) |
Definition at line 2216 of file ax-gdb.c.
References gen_expr_binop_rest(), gen_usual_unary(), and expr::operation::generate_ax().
Referenced by expr::add_operation::do_generate_ax(), expr::sub_operation::do_generate_ax(), and expr::usual_ax_binop_operation< OP, FUNC >::do_generate_ax().
void gen_expr_structop | ( | struct expression * | exp, |
enum exp_opcode | op, | ||
expr::operation * | lhs, | ||
const char * | name, | ||
struct agent_expr * | ax, | ||
struct axs_value * | value | ||
) |
Definition at line 2233 of file ax-gdb.c.
References gen_struct_ref(), expr::operation::generate_ax(), and name.
Referenced by expr::structop_operation::do_generate_ax(), and expr::structop_ptr_operation::do_generate_ax().
void gen_expr_unop | ( | struct expression * | exp, |
enum exp_opcode | op, | ||
expr::operation * | lhs, | ||
struct agent_expr * | ax, | ||
struct axs_value * | value | ||
) |
Definition at line 2254 of file ax-gdb.c.
References builtin_type::builtin_int, agent_expr::gdbarch, gen_address_of(), gen_binop(), gen_complement(), gen_deref(), gen_int_literal(), gen_integral_promotions(), gen_logical_not(), gen_usual_arithmetic(), gen_usual_unary(), expr::operation::generate_ax(), type::is_pointer_or_reference(), and value::type.
Referenced by expr::usual_ax_unop_operation< OP, FUNC >::do_generate_ax(), expr::unop_ind_operation::do_generate_ax(), and expr::unop_addr_operation::do_generate_ax().