GDB (xrefs)
|
#include "defs.h"
#include "gdbtypes.h"
#include "symtab.h"
#include "expression.h"
#include "parser-defs.h"
#include "language.h"
#include "varobj.h"
#include "c-lang.h"
#include "gdbarch.h"
#include "c-exp.h"
Go to the source code of this file.
Classes | |
struct | lval_closure |
class | opencl_language |
Namespaces | |
namespace | expr |
Macros | |
#define | HEXCHAR_TO_INT(C) |
#define | OCL_STRING(S) #S |
#define | BUILD_OCL_VTYPES(TYPE, ELEMENT_TYPE) |
Functions | |
static struct type * | lookup_opencl_vector_type (struct gdbarch *gdbarch, enum type_code code, unsigned int el_length, unsigned int flag_unsigned, int n) |
static int | array_has_dups (int *arr, int n) |
static struct lval_closure * | allocate_lval_closure (int *indices, int n, struct value *val) |
static void | lval_func_read (struct value *v) |
static void | lval_func_write (struct value *v, struct value *fromval) |
static bool | lval_func_check_synthetic_pointer (const struct value *v, LONGEST offset, int length) |
static void * | lval_func_copy_closure (const struct value *v) |
static void | lval_func_free_closure (struct value *v) |
static struct value * | create_value (struct gdbarch *gdbarch, struct value *val, enum noside noside, int *indices, int n) |
static struct value * | opencl_component_ref (struct expression *exp, struct value *val, const char *comps, enum noside noside) |
struct value * | opencl_logical_not (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg) |
static int | scalar_relop (struct value *val1, struct value *val2, enum exp_opcode op) |
static struct value * | vector_relop (struct expression *exp, struct value *val1, struct value *val2, enum exp_opcode op) |
struct value * | opencl_value_cast (struct type *type, struct value *arg) |
struct value * | opencl_relop (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
struct value * | eval_opencl_assign (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2) |
Variables | |
static const struct lval_funcs | opencl_value_funcs |
static opencl_language | opencl_language_defn |
#define BUILD_OCL_VTYPES | ( | TYPE, | |
ELEMENT_TYPE ) |
#define HEXCHAR_TO_INT | ( | C | ) |
|
static |
Definition at line 105 of file opencl-lang.c.
References value::incref(), lval_closure::indices, lval_closure::n, lval_closure::refc, and lval_closure::val.
Referenced by create_value().
|
static |
Definition at line 70 of file opencl-lang.c.
Referenced by create_value().
|
static |
Definition at line 268 of file opencl-lang.c.
References value::allocate(), value::allocate_computed(), allocate_lval_closure(), array_has_dups(), check_typedef(), type::code(), value::contents(), value::contents_writeable(), EVAL_AVOID_SIDE_EFFECTS, lval_closure::indices, init_vector_type(), type::is_unsigned(), type::length(), lookup_opencl_vector_type(), value::lval(), make_cv_type(), lval_closure::n, not_lval, opencl_value_funcs, type::target_type(), value::type(), TYPE_CONST, TYPE_VOLATILE, lval_closure::val, value_subscript(), and value::zero().
Referenced by opencl_component_ref().
struct value * eval_opencl_assign | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside noside noside | , | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 ) |
Definition at line 681 of file opencl-lang.c.
References value::deprecated_modifiable(), EVAL_AVOID_SIDE_EFFECTS, value::lval(), lval_internalvar, opencl_value_cast(), value::type(), and value_assign().
|
static |
Definition at line 37 of file opencl-lang.c.
References code, type::code(), get_array_bounds(), type::is_unsigned(), type::is_vector(), language_def(), language_lookup_primitive_type(), language_opencl, type::length(), type::target_type(), and type.
Referenced by create_value(), opencl_logical_not(), and vector_relop().
|
static |
Definition at line 194 of file opencl-lang.c.
References value::bits_synthetic_pointer(), check_typedef(), value::computed_closure(), lval_closure::indices, type::length(), lval_closure::n, type::target_type(), value::type(), and lval_closure::val.
|
static |
Definition at line 227 of file opencl-lang.c.
References value::computed_closure(), and lval_closure::refc.
|
static |
Definition at line 237 of file opencl-lang.c.
References value::computed_closure(), value::decref(), lval_closure::indices, lval_closure::refc, lval_closure::val, and xfree().
|
static |
Definition at line 120 of file opencl-lang.c.
References check_typedef(), type::code(), value::computed_closure(), value::contents(), value::contents_raw(), get_array_bounds(), lval_closure::indices, type::length(), value::offset(), type::target_type(), value::type(), and lval_closure::val.
Definition at line 148 of file opencl-lang.c.
References value::allocate(), check_typedef(), type::code(), value::computed_closure(), value::contents(), value::contents_writeable(), get_array_bounds(), lval_closure::indices, type::length(), lval_closure::n, value::offset(), type::target_type(), value::type(), lval_closure::val, value_assign(), and value_subscript().
|
static |
Definition at line 330 of file opencl-lang.c.
References check_typedef(), create_value(), expression::gdbarch, get_array_bounds(), HEXCHAR_TO_INT, and value::type().
Referenced by expr::opencl_structop_operation::evaluate().
struct value * opencl_logical_not | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside noside noside | , | ||
enum exp_opcode | op, | ||
struct value * | arg ) |
Definition at line 444 of file opencl-lang.c.
References value::allocate(), check_typedef(), type::code(), value::contents_writeable(), expression::gdbarch, get_array_bounds(), type::is_vector(), language_bool_type(), expression::language_defn, type::length(), lookup_opencl_vector_type(), type::target_type(), value::type(), value_from_longest(), value_logical_not(), and value_subscript().
struct value * opencl_relop | ( | struct type * | expect_type, |
struct expression * | exp, | ||
enum noside noside noside | , | ||
enum exp_opcode | op, | ||
struct value * | arg1, | ||
struct value * | arg2 ) |
Definition at line 638 of file opencl-lang.c.
References check_typedef(), type::code(), expression::gdbarch, is_integral_type(), type::is_vector(), language_bool_type(), expression::language_defn, opencl_value_cast(), scalar_relop(), value::type(), value_from_longest(), and vector_relop().
Referenced by expr::opencl_logical_binop_operation::evaluate().
Definition at line 589 of file opencl-lang.c.
References check_typedef(), type::code(), coerce_ref(), type::is_vector(), type::target_type(), value::type(), value_cast(), and value_vector_widen().
Referenced by eval_opencl_assign(), expr::opencl_ternop_cond_operation::evaluate(), and opencl_relop().
|
static |
Definition at line 491 of file opencl-lang.c.
References value_equal(), value_less(), and value_logical_not().
Referenced by opencl_relop(), and vector_relop().
|
static |
Definition at line 531 of file opencl-lang.c.
References value::allocate(), check_typedef(), type::code(), value::contents_writeable(), expression::gdbarch, get_array_bounds(), type::is_unsigned(), type::is_vector(), type::length(), lookup_opencl_vector_type(), scalar_relop(), type::target_type(), value::type(), and value_subscript().
Referenced by opencl_relop().
|
static |
Definition at line 989 of file opencl-lang.c.
|
static |
Definition at line 251 of file opencl-lang.c.
Referenced by create_value().