GDB (xrefs)
Functions | Variables
/home/stan/gdb/src/gdb/eval.c File Reference
#include "defs.h"
#include "gdb_string.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "value.h"
#include "expression.h"
#include "target.h"
#include "frame.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 "exceptions.h"
#include "regcache.h"
#include "user-regs.h"
#include "valprint.h"
#include "gdb_obstack.h"
#include "objfiles.h"
#include "python/python.h"
#include "gdb_assert.h"
#include <ctype.h>

Go to the source code of this file.

Functions

static struct valueevaluate_subexp_for_sizeof (struct expression *, int *)
static struct valueevaluate_subexp_for_address (struct expression *, int *, enum noside)
static struct valueevaluate_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 valueevaluate_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 valueparse_and_eval (const char *exp)
struct valueparse_to_comma_and_eval (const char **expp)
struct valueevaluate_expression (struct expression *exp)
struct valueevaluate_type (struct expression *exp)
struct valueevaluate_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 valuevalue_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)
static struct typemake_params (int num_types, struct type **param_types)
struct valueevaluate_subexp_standard (struct type *expect_type, struct expression *exp, int *pos, enum noside noside)
struct valueevaluate_subexp_with_coercion (struct expression *exp, int *pos, enum noside noside)
struct typeparse_and_eval_type (char *p, int length)
int calc_f77_array_dims (struct type *array_type)

Variables

int overload_resolution

Function Documentation

void binop_promote ( const struct language_defn language,
struct gdbarch gdbarch,
struct value **  arg1,
struct value **  arg2 
)
int calc_f77_array_dims ( struct type array_type)

Definition at line 3076 of file eval.c.

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

Referenced by evaluate_subexp_standard(), and f77_print_array().

struct value* evaluate_expression ( struct expression exp) [read]
static struct value* evaluate_struct_tuple ( struct value struct_val,
struct expression exp,
int pos,
enum noside noside  ,
int  nargs 
) [static, read]
struct value* evaluate_subexp ( struct type expect_type,
struct expression exp,
int pos,
enum noside noside   
) [read]
static struct value* evaluate_subexp_for_address ( struct expression exp,
int pos,
enum noside noside   
) [static, read]
static struct value * evaluate_subexp_for_sizeof ( struct expression exp,
int pos 
) [static, read]
struct value* evaluate_subexp_standard ( struct type expect_type,
struct expression exp,
int pos,
enum noside noside   
) [read]

Definition at line 697 of file eval.c.

References _, access_value_history(), allocate_repeat_value(), allocate_value(), binop_promote(), binop_user_defined_p(), exp_element::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(), call_internal_function(), check_typedef(), CHECK_TYPEDEF, code, coerce_ref(), cp_lookup_symbol_namespace(), cplus_method_ptr_to_value(), cplus_typeid(), cplus_typeid_type(), current_target, exp_element::decfloatconst, deprecated_set_value_type(), exp_element::doubleconst, expression::elts, gdb_exception::error, error(), EVAL_AVOID_SIDE_EFFECTS, EVAL_NORMAL, EVAL_SKIP, evaluate_struct_tuple(), evaluate_subexp(), evaluate_subexp_for_address(), evaluate_subexp_for_sizeof(), evaluate_subexp_with_coercion(), f77_get_lowerbound(), find_function_addr(), find_function_in_inferior(), find_overload_match(), find_pc_function(), gdb_assert, expression::gdbarch, gdbarch_bits_big_endian(), gdbarch_convert_from_func_ptr_addr(), gdbarch_num_pseudo_regs(), gdbarch_num_regs(), get_discrete_bounds(), get_selected_block(), get_selected_frame(), get_user_print_options(), init_array_element(), exp_element::internalvar, is_integral_type(), language_defn::la_language, language_bool_type(), language_cplus, expression::language_defn, language_string_char_type(), len, exp_element::longconst, LONGEST, longest_to_int(), lookup_child_selector(), lookup_function_type(), lookup_minimal_symbol(), lookup_pointer_type(), lookup_reference_type(), lval_memory, make_params(), MAX_FORTRAN_DIMS, memcpy(), memset(), METHOD, name, NON_METHOD, NOT_FOUND_ERROR, not_lval, NULL_TYPE, value_print_options::objectprint, exp_element::objfile, exp_element::opcode, overload_resolution, ptrmath_type_p(), gdb_exception::reason, register_type(), RETURN_MASK_ERROR, selector, exp_element::string, exp_element::symbol, SYMBOL_COMPUTED_OPS, SYMBOL_PRINT_NAME, SYMBOL_TYPE, target_translate_tls_address(), throw_exception(), TRY_CATCH, exp_element::type, type, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_CLASS, TYPE_CODE_ENUM, TYPE_CODE_ERROR, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_INTERNAL_FUNCTION, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHODPTR, TYPE_CODE_NAMESPACE, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_SET, TYPE_CODE_STRING, TYPE_CODE_STRUCT, TYPE_CODE_TYPEDEF, TYPE_CODE_UNION, TYPE_DOMAIN_TYPE, TYPE_FIELD_TYPE, TYPE_FIELDS, TYPE_GNU_IFUNC, TYPE_INDEX_TYPE, TYPE_LENGTH, TYPE_MAIN_TYPE, TYPE_NAME, TYPE_NFIELDS, TYPE_TAG_NAME, 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_embedded_offset(), value_equal(), value_f90_subarray(), value_from_decfloat(), value_from_double(), value_from_longest(), value_from_pointer(), value_in(), 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, warning(), and xfree().

Referenced by evaluate_subexp_c(), evaluate_subexp_java(), evaluate_subexp_modula2(), and stap_evaluate_probe_argument().

struct value* evaluate_subexp_with_coercion ( struct expression exp,
int pos,
enum noside noside   
) [read]
struct value* evaluate_subexpression_type ( struct expression exp,
int  subexp 
) [read]

Definition at line 164 of file eval.c.

References EVAL_AVOID_SIDE_EFFECTS, evaluate_subexp(), and NULL_TYPE.

Referenced by parse_expression_for_completion().

struct value* evaluate_type ( struct expression exp) [read]
char* extract_field_op ( 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 
)
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]
static struct type* make_params ( int  num_types,
struct type **  param_types 
) [static, read]
struct value* parse_and_eval ( const char *  exp) [read]
struct type* parse_and_eval_type ( char *  p,
int  length 
) [read]

Definition at line 3059 of file eval.c.

References _, expression::elts, error(), memcpy(), exp_element::opcode, parse_expression(), and exp_element::type.

Referenced by safe_parse_type().

struct value* parse_to_comma_and_eval ( const char **  expp) [read]
static int ptrmath_type_p ( const struct language_defn lang,
struct type type 
) [static]
void unop_promote ( const struct language_defn language,
struct gdbarch gdbarch,
struct value **  arg1 
)
static struct value* value_f90_subarray ( struct value array,
struct expression exp,
int pos,
enum noside  noside 
) [static, read]

Variable Documentation

Definition at line 116 of file valops.c.

Referenced by evaluate_subexp_standard().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines