GDB (xrefs)
|
#include "c-lang.h"
#include "cp-abi.h"
#include "expression.h"
#include "language.h"
#include "objfiles.h"
#include "gdbsupport/traits.h"
#include "gdbsupport/enum-flags.h"
Go to the source code of this file.
Namespaces | |
namespace | expr |
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_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) |
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) |
static bool | expr::check_objfile (const gdb_mpz &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, const gdb_mpz &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 (const gdb_mpz &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) |
|
extern |
Definition at line 1863 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(), value::type(), unop_promote(), value_as_long(), value_assign(), value_binop(), value_ptradd(), and value_x_binop().
Referenced by expr::assign_modify_operation::opcode().
|
extern |
Definition at line 1304 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::type(), value_as_long(), value_binop(), value_ptradd(), and value_x_binop().
Referenced by expr::add_operation::evaluate().
|
extern |
Definition at line 1692 of file eval.c.
References builtin_type::builtin_int, builtin_type(), expression::gdbarch, value::type(), type_align(), and value_from_longest().
|
extern |
Definition at line 1352 of file eval.c.
References binop_promote(), binop_user_defined_p(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, is_integral_type(), expression::language_defn, value::type(), unop_promote(), value_binop(), value_logical_not(), value_one(), and value_x_binop().
Referenced by expr::ada_bitwise_operation< OP >::evaluate().
|
extern |
Definition at line 1609 of file eval.c.
References expression::gdbarch, expression::language_defn, unop_promote(), unop_user_defined_p(), value_complement(), and value_x_unop().
|
extern |
Definition at line 1431 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().
|
extern |
Definition at line 1102 of file eval.c.
References value::address, block_symbol::block, block_for_pc(), evaluate_var_value(), func, lookup_symbol(), block_symbol::symbol, and VAR_DOMAIN.
Referenced by expr::func_static_var_operation::evaluate().
|
extern |
Definition at line 1515 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().
|
extern |
Definition at line 1494 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().
|
extern |
Definition at line 1642 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(), value::type(), unop_user_defined_p(), value_as_address(), value_at_lazy(), value_ind(), value_x_unop(), and value::zero().
|
extern |
Definition at line 1536 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().
|
extern |
Definition at line 1473 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().
|
extern |
Definition at line 1625 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().
|
extern |
Definition at line 1262 of file eval.c.
References check_typedef(), type::code(), cplus_method_ptr_to_value(), EVAL_AVOID_SIDE_EFFECTS, lookup_pointer_type(), not_lval, type::target_type(), value::type(), TYPE_SELF_TYPE, value_addr(), value_as_long(), value_cast_pointers(), value_from_pointer(), value_ind(), and value::zero().
Referenced by expr::structop_member_operation::evaluate(), and expr::structop_mptr_operation::evaluate().
|
extern |
Definition at line 1708 of file eval.c.
References EVAL_AVOID_SIDE_EFFECTS, lval_memory, value_as_address(), value_at_lazy(), and value::zero().
|
extern |
Definition at line 1593 of file eval.c.
References expression::gdbarch, expression::language_defn, unop_promote(), unop_user_defined_p(), value_neg(), and value_x_unop().
|
extern |
Definition at line 1452 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().
|
extern |
Definition at line 1577 of file eval.c.
References expression::gdbarch, expression::language_defn, unop_promote(), unop_user_defined_p(), value_pos(), and value_x_unop().
|
extern |
Definition at line 1817 of file eval.c.
References binop_promote(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, expression::language_defn, value::non_lval(), ptrmath_type_p(), value::type(), unop_user_defined_p(), value_assign(), value_binop(), value_one(), value_ptradd(), and value_x_unop().
|
extern |
Definition at line 1783 of file eval.c.
References binop_promote(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, expression::language_defn, value::non_lval(), ptrmath_type_p(), value::type(), unop_user_defined_p(), value_assign(), value_binop(), value_one(), value_ptradd(), and value_x_unop().
|
extern |
Definition at line 1752 of file eval.c.
References binop_promote(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, expression::language_defn, ptrmath_type_p(), value::type(), unop_user_defined_p(), value_assign(), value_binop(), value_one(), value_ptradd(), and value_x_unop().
|
extern |
Definition at line 1721 of file eval.c.
References binop_promote(), EVAL_AVOID_SIDE_EFFECTS, expression::gdbarch, expression::language_defn, ptrmath_type_p(), value::type(), unop_user_defined_p(), value_assign(), value_binop(), value_one(), value_ptradd(), and value_x_unop().
|
extern |
Definition at line 1117 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().
|
extern |
Definition at line 1557 of file eval.c.
References allocate_repeat_value(), check_typedef(), type::code(), EVAL_AVOID_SIDE_EFFECTS, longest_to_int(), value::type(), value_as_long(), and value_repeat().
|
extern |
Definition at line 1053 of file eval.c.
References value_aggregate_elt().
Referenced by expr::scope_operation::evaluate().
|
extern |
Definition at line 1206 of file eval.c.
References type::code(), EVAL_AVOID_SIDE_EFFECTS, get_user_print_options(), value::lval(), type::target_type(), value::type(), unop_user_defined_p(), value, value_cast(), value_rtti_indirect_type(), value_struct_elt(), value_x_unop(), and value::zero().
Referenced by expr::structop_ptr_operation::evaluate().
|
extern |
Definition at line 1192 of file eval.c.
References EVAL_AVOID_SIDE_EFFECTS, value::lval(), value::type(), value_struct_elt(), and value::zero().
Referenced by expr::structop_operation::evaluate().
|
extern |
Definition at line 1326 of file eval.c.
References binop_promote(), binop_user_defined_p(), builtin_type::builtin_long, builtin_type(), expression::gdbarch, is_integral_or_integral_reference(), expression::language_defn, ptrmath_type_p(), value::type(), value_as_long(), value_binop(), value_from_longest(), value_ptradd(), value_ptrdiff(), and value_x_binop().
Referenced by expr::sub_operation::evaluate().
|
extern |
Definition at line 1397 of file eval.c.
References binop_user_defined_p(), check_typedef(), type::code(), coerce_ref(), EVAL_AVOID_SIDE_EFFECTS, value::lval(), type::name(), type::target_type(), value::type(), value_as_long(), value_subscript(), value_x_binop(), and value::zero().
|
extern |
Definition at line 1851 of file eval.c.
References value::allocate(), and EVAL_AVOID_SIDE_EFFECTS.
Referenced by expr::type_operation::constant_p().
|
extern |
Definition at line 1067 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().
|
extern |
Definition at line 1085 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().
|
extern |
Definition at line 2230 of file ax-gdb.c.
References gen_expr_binop_rest(), gen_usual_unary(), and expr::operation::generate_ax().
Referenced by expr::ada_binop_equal_operation::do_generate_ax(), expr::add_operation::do_generate_ax(), expr::sub_operation::do_generate_ax(), and expr::usual_ax_binop_operation< OP, FUNC >::do_generate_ax().
|
extern |
Definition at line 2247 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().
|
extern |
Definition at line 2268 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().