40#define builtin_type_pyint \
41 builtin_type (gdbpy_enter::get_gdbarch ())->builtin_long
44#define builtin_type_pyfloat \
45 builtin_type (gdbpy_enter::get_gdbarch ())->builtin_double
48#define builtin_type_pylong \
49 builtin_type (gdbpy_enter::get_gdbarch ())->builtin_long_long
52#define builtin_type_upylong builtin_type \
53 (gdbpy_enter::get_gdbarch ())->builtin_unsigned_long_long
55#define builtin_type_pybool \
56 language_bool_type (current_language, gdbpy_enter::get_gdbarch ())
84 self->
value =
nullptr;
87 Py_CLEAR (self->
type);
99 if (self->
value !=
nullptr)
102 if (self->
prev !=
nullptr)
109 if (self->
next !=
nullptr)
116 Py_TYPE (self)->tp_free (self);
125 if (value_obj->
next ==
nullptr)
127 gdb_assert (value_obj->
prev ==
nullptr);
129 if (value_obj->
next !=
nullptr)
146 if (PyObject_CheckBuffer (obj)
147 && PyObject_GetBuffer (obj, &py_buf, PyBUF_SIMPLE) == 0)
151 buffer_up.reset (&py_buf);
155 PyErr_SetString (PyExc_TypeError,
156 _(
"Object must support the python buffer protocol."));
162 PyErr_SetString (PyExc_ValueError,
163 _(
"Size of type is larger than that of buffer object."));
175 static const char *keywords[] = {
"val",
"type", NULL };
180 &val_obj, &type_obj))
184 if (type_obj !=
nullptr && type_obj != Py_None)
189 PyErr_SetString (PyExc_TypeError,
190 _(
"type argument must be a gdb.Type."));
200 if (
value ==
nullptr)
202 gdb_assert (PyErr_Occurred ());
208 if (value_obj->
value !=
nullptr)
241 struct value *res_val;
247 catch (
const gdb_exception &except)
270 struct value *self_val, *res_val;
280 case TYPE_CODE_RVALUE_REF:
284 error(_(
"Trying to get the referenced value from a value which is "
285 "neither a pointer nor a reference."));
290 catch (
const gdb_exception &except)
307 struct value *self_val;
313 catch (
const gdb_exception &except)
345 if (
type->
code () == TYPE_CODE_ARRAY)
354 PyErr_SetString (PyExc_TypeError, _(
"Value is not array-like."));
359 catch (
const gdb_exception &except)
376 struct value *self_val, *res_val;
383 catch (
const gdb_exception &except)
401 struct value *res_val;
407 catch (
const gdb_exception_forced_quit &except)
411 catch (
const gdb_exception &except)
435 Py_INCREF (obj->
type);
464 struct value *target;
465 int was_pointer =
type->
code () == TYPE_CODE_PTR;
481 else if (
type->
code () == TYPE_CODE_STRUCT)
489 catch (
const gdb_exception &except)
526 const char *user_encoding = NULL;
527 static const char *keywords[] = {
"encoding",
"length", NULL };
531 keywords, &user_encoding, &length))
536 PyErr_SetString (PyExc_ValueError, _(
"Invalid length."));
549 switch (realtype->
code ())
551 case TYPE_CODE_ARRAY:
553 LONGEST array_length = -1;
554 LONGEST low_bound, high_bound;
560 array_length = high_bound - low_bound + 1;
563 else if (array_length == -1)
568 else if (
length != array_length)
572 if (
length > array_length)
573 error (_(
"Length is larger than array size."));
595 catch (
const gdb_exception &except)
613 gdb::unique_xmalloc_ptr<gdb_byte> buffer;
615 const char *encoding = NULL;
616 const char *errors = NULL;
617 const char *user_encoding = NULL;
618 const char *la_encoding = NULL;
619 struct type *char_type;
620 static const char *keywords[] = {
"encoding",
"errors",
"length", NULL };
623 &user_encoding, &errors, &
length))
630 catch (
const gdb_exception &except)
635 encoding = (user_encoding && *user_encoding) ? user_encoding : la_encoding;
636 return PyUnicode_Decode ((
const char *) buffer.get (),
653 int cmp = PyObject_IsTrue (src_obj);
669 static const char *keywords[] =
700 Py_ssize_t positional_count = PyObject_Length (args);
701 if (positional_count < 0)
703 else if (positional_count > 0)
708 PyErr_Format (PyExc_TypeError,
709 "format_string() takes 0 positional arguments but %zu were given",
716 opts.deref_ref =
false;
722 PyObject *pretty_structs_obj = NULL;
730 PyObject *actual_objects_obj = NULL;
731 PyObject *static_members_obj = NULL;
736 "|O!O!O!O!O!O!O!O!O!O!O!O!O!IIIIs",
738 &PyBool_Type, &raw_obj,
739 &PyBool_Type, &pretty_arrays_obj,
740 &PyBool_Type, &pretty_structs_obj,
741 &PyBool_Type, &array_indexes_obj,
742 &PyBool_Type, &symbols_obj,
743 &PyBool_Type, &unions_obj,
744 &PyBool_Type, &address_obj,
745 &PyBool_Type, &styling_obj,
746 &PyBool_Type, &nibbles_obj,
747 &PyBool_Type, &summary_obj,
748 &PyBool_Type, &deref_refs_obj,
749 &PyBool_Type, &actual_objects_obj,
750 &PyBool_Type, &static_members_obj,
751 &opts.print_max_chars,
754 &opts.repeat_count_threshold,
787 if (opts.print_max == 0)
788 opts.print_max = UINT_MAX;
789 if (opts.repeat_count_threshold == 0)
790 opts.repeat_count_threshold = UINT_MAX;
801 PyErr_SetString (PyExc_ValueError,
802 "a single character is required");
814 catch (
const gdb_exception &except)
830 if (! PyArg_ParseTuple (args,
"O", &type_obj))
836 PyErr_SetString (PyExc_RuntimeError,
837 _(
"Argument must be a type."));
844 struct value *res_val;
847 if (op == UNOP_DYNAMIC_CAST)
849 else if (op == UNOP_REINTERPRET_CAST)
853 gdb_assert (op == UNOP_CAST);
859 catch (
const gdb_exception &except)
898 if (! PyArg_ParseTuple (args,
"O", &val_obj))
914 self->
value = new_value;
916 catch (
const gdb_exception &except)
928 PyErr_SetString (PyExc_NotImplementedError,
929 _(
"Invalid operation on gdb.Value."));
939 struct type *parent_type, *val_type;
948 if (parent_type == NULL)
950 PyErr_SetString (PyExc_TypeError,
951 _(
"'parent_type' attribute of gdb.Field object is not a"
952 "gdb.Type object."));
958 val_type = v->
type ();
970 catch (
const gdb_exception &except)
987 if (flag_object == NULL)
990 return PyObject_IsTrue (flag_object.get ());
1002 if (ftype_obj == NULL)
1006 PyErr_SetString (PyExc_TypeError,
1007 _(
"'type' attribute of gdb.Field object is not a "
1008 "gdb.Type object."));
1020 struct gdb_exception except;
1022 gdb::unique_xmalloc_ptr<char>
field;
1023 struct type *base_class_type = NULL, *field_type = NULL;
1035 int is_base_class, valid_field;
1038 if (valid_field < 0)
1040 else if (valid_field == 0)
1042 PyErr_SetString (PyExc_TypeError,
1043 _(
"Invalid lookup for a field not contained in "
1050 if (is_base_class < 0)
1052 else if (is_base_class > 0)
1055 if (base_class_type == NULL)
1060 gdbpy_ref<> name_obj (PyObject_GetAttrString (key,
"name"));
1062 if (name_obj == NULL)
1065 if (name_obj != Py_None)
1073 if (!PyObject_HasAttrString (key,
"bitpos"))
1075 PyErr_SetString (PyExc_AttributeError,
1076 _(
"gdb.Field object has no name and no "
1077 "'bitpos' attribute."));
1081 gdbpy_ref<> bitpos_obj (PyObject_GetAttrString (key,
"bitpos"));
1082 if (bitpos_obj == NULL)
1088 if (field_type == NULL)
1097 struct value *res_val = NULL;
1102 "struct/class/union");
1105 "struct/class/union");
1106 else if (base_class_type != NULL)
1108 struct type *val_type;
1111 if (val_type->
code () == TYPE_CODE_PTR)
1113 else if (val_type->
code () == TYPE_CODE_REF)
1116 else if (val_type->
code () == TYPE_CODE_RVALUE_REF)
1137 if (
type->
code () != TYPE_CODE_ARRAY
1139 error (_(
"Cannot subscript requested type."));
1150 catch (gdb_exception &ex)
1152 except = std::move (ex);
1163 PyErr_Format (PyExc_NotImplementedError,
1164 _(
"Setting of struct elements is not currently supported."));
1173 Py_ssize_t args_count;
1175 struct value **vargs = NULL;
1176 struct type *ftype = NULL;
1183 catch (
const gdb_exception &except)
1188 if (ftype->
code () != TYPE_CODE_FUNC)
1190 PyErr_SetString (PyExc_RuntimeError,
1191 _(
"Value is not callable (not TYPE_CODE_FUNC)."));
1195 if (! PyTuple_Check (args))
1197 PyErr_SetString (PyExc_TypeError,
1198 _(
"Inferior arguments must be provided in a tuple."));
1202 args_count = PyTuple_Size (args);
1207 vargs = XALLOCAVEC (
struct value *, args_count);
1208 for (i = 0; i < args_count; i++)
1210 PyObject *item = PyTuple_GetItem (args, i);
1216 if (vargs[i] == NULL)
1227 gdb::make_array_view (vargs, args_count));
1230 catch (
const gdb_exception &except)
1246 opts.deref_ref =
false;
1255 catch (
const gdb_exception &except)
1274 catch (
const gdb_exception &except)
1296 catch (
const gdb_exception &except)
1318 catch (
const gdb_exception &except)
1331 return (intptr_t) self;
1350#define STRIP_REFERENCE(TYPE) \
1351 (TYPE_IS_REFERENCE (TYPE) ? ((TYPE)->target_type ()) : (TYPE))
1362 struct value *arg1, *arg2;
1363 struct value *res_val = NULL;
1386 struct type *ltype = arg1->
type ();
1387 struct type *rtype = arg2->
type ();
1395 if (ltype->
code () == TYPE_CODE_PTR
1398 else if (rtype->
code () == TYPE_CODE_PTR
1410 struct type *ltype = arg1->
type ();
1411 struct type *rtype = arg2->
type ();
1419 if (ltype->
code () == TYPE_CODE_PTR
1420 && rtype->
code () == TYPE_CODE_PTR)
1424 else if (ltype->
code () == TYPE_CODE_PTR
1453 op = BINOP_BITWISE_AND;
1456 op = BINOP_BITWISE_IOR;
1459 op = BINOP_BITWISE_XOR;
1489 catch (
const gdb_exception &except)
1533 if (unused != Py_None)
1535 PyErr_SetString (PyExc_NotImplementedError,
1536 "Invalid operation on gdb.Value.");
1557 catch (
const gdb_exception &except)
1584 catch (
const gdb_exception &except)
1599 struct gdb_exception except;
1612 (self_value->value->contents ().data (),
type);
1617 catch (gdb_exception &ex)
1619 except = std::move (ex);
1642 catch (
const gdb_exception &except)
1694 struct value *value_other;
1695 struct value *value_self;
1700 if (value_other == NULL)
1708 result =
value_less (value_self, value_other);
1711 result =
value_less (value_self, value_other)
1721 result =
value_less (value_other, value_self);
1724 result = (
value_less (value_other, value_self)
1729 PyErr_SetString (PyExc_NotImplementedError,
1730 _(
"Invalid operation on gdb.Value."));
1746 if (other == Py_None)
1760 PyErr_SetString (PyExc_NotImplementedError,
1761 _(
"Invalid operation on gdb.Value."));
1769 catch (
const gdb_exception &except)
1804 error (_(
"Cannot convert value to long."));
1808 catch (
const gdb_exception &except)
1833 else if (
type->
code () == TYPE_CODE_INT)
1841 error (_(
"Cannot convert value to float."));
1843 catch (
const gdb_exception &except)
1848 return PyFloat_FromDouble (d);
1859 if (val_obj != NULL)
1862 val_obj->
value = val;
1863 val_obj->
next =
nullptr;
1864 val_obj->
prev =
nullptr;
1866 val_obj->
type = NULL;
1897 gdb_assert (obj != NULL);
1901 if (PyBool_Check (obj))
1903 cmp = PyObject_IsTrue (obj);
1907 else if (PyLong_Check (obj))
1909 LONGEST l = PyLong_AsLongLong (obj);
1911 if (PyErr_Occurred ())
1915 if (PyErr_ExceptionMatches (PyExc_OverflowError))
1921 if (PyObject_RichCompareBool (obj,
zero.get (), Py_GT) > 0)
1925 ul = PyLong_AsUnsignedLongLong (obj);
1926 if (! PyErr_Occurred ())
1939 else if (PyFloat_Check (obj))
1941 double d = PyFloat_AsDouble (obj);
1943 if (! PyErr_Occurred ())
1948 gdb::unique_xmalloc_ptr<char> s
1953 s.get (), strlen (s.get ()));
1965 PyErr_Format (PyExc_TypeError,
1966 _(
"Could not convert Python object: %S."), obj);
1968 catch (
const gdb_exception &except)
1983 if (!PyArg_ParseTuple (args,
"i", &i))
1993 catch (
const gdb_exception &except)
2008 if (!PyArg_ParseTuple (args,
"O", &value_obj))
2012 if (
value ==
nullptr)
2020 catch (
const gdb_exception &except)
2040 const char *varname;
2041 struct value *res_val = NULL;
2043 if (!PyArg_ParseTuple (args,
"s", &varname))
2056 if (res_val->
type ()->
code () == TYPE_CODE_VOID)
2065 catch (
const gdb_exception &except)
2070 if (result ==
nullptr && !found)
2080 const char *varname;
2084 if (!PyArg_ParseTuple (args,
"sO", &varname, &value_obj))
2088 if (value_obj != Py_None)
2111 catch (
const gdb_exception &except)
2145 "Boolean telling whether the value is optimized "
2146 "out (i.e., not available).",
2150 "Dynamic type of the value.", NULL },
2152 "Boolean telling whether the value is lazy (not fetched yet\n\
2153from the inferior). A lazy value is fetched when needed, or when\n\
2154the \"fetch_lazy()\" method is called.", NULL },
2159 {
"cast",
valpy_cast, METH_VARARGS,
"Cast the value to the supplied type." },
2161 "dynamic_cast (gdb.Type) -> gdb.Value\n\
2162Cast the value to the supplied type, as if by the C++ dynamic_cast operator."
2165 "reinterpret_cast (gdb.Type) -> gdb.Value\n\
2166Cast the value to the supplied type, as if by the C++\n\
2167reinterpret_cast operator."
2171 "Return the value referenced by a TYPE_CODE_REF or TYPE_CODE_PTR value." },
2173 "Return a value of type TYPE_CODE_REF referencing this value." },
2175 "Return a value of type TYPE_CODE_RVALUE_REF referencing this value." },
2177 "Return a 'const' qualified version of the same value." },
2179 METH_VARARGS | METH_KEYWORDS,
2180 "lazy_string ([encoding] [, length]) -> lazy_string\n\
2181Return a lazy string representation of the value." },
2182 {
"string", (PyCFunction)
valpy_string, METH_VARARGS | METH_KEYWORDS,
2183 "string ([encoding] [, errors] [, length]) -> string\n\
2184Return Unicode string representation of the value." },
2186 "Fetches the value from the inferior, if it was lazy." },
2188 METH_VARARGS | METH_KEYWORDS,
2189 "format_string (...) -> string\n\
2190Return a string representation of the value using the specified\n\
2191formatting options" },
2193 "assign (VAL) -> None\n\
2194Assign VAL to this value." },
2196 "to_array () -> Value\n\
2197Return value as an array, if possible." },
2245 PyVarObject_HEAD_INIT (NULL, 0)
2265 | Py_TPFLAGS_BASETYPE,
struct value * ada_value_subscript(struct value *arr, int arity, struct value **ind)
void c_get_string(struct value *value, gdb::unique_xmalloc_ptr< gdb_byte > *buffer, int *length, struct type **char_type, const char **charset)
const char * host_charset(void)
static struct gdbarch * get_gdbarch()
const char * c_str() const
struct type * value_rtti_type(struct value *v, int *full, LONGEST *top, int *using_enc)
struct type * lookup_pointer_type(struct type *type)
struct type * lookup_lvalue_reference_type(struct type *type)
int is_integral_type(struct type *t)
struct type * lookup_array_range_type(struct type *element_type, LONGEST low_bound, LONGEST high_bound)
struct type * lookup_rvalue_reference_type(struct type *type)
bool get_array_bounds(struct type *type, LONGEST *low_bound, LONGEST *high_bound)
bool types_equal(struct type *a, struct type *b)
struct type * check_typedef(struct type *type)
struct value * call_function_by_hand(struct value *function, type *default_return_type, gdb::array_view< value * > args)
const struct language_defn * current_language
int gdbpy_is_lazy_string(PyObject *result)
PyObject * gdbpy_create_lazy_string_object(CORE_ADDR address, long length, const char *encoding, struct type *type)
void gdbpy_get_print_options(value_print_options *opts)
gdb::ref_ptr< T, gdbpy_ref_policy< T > > gdbpy_ref
PyObject * type_to_type_object(struct type *type)
int gdbpy_is_field(PyObject *obj)
struct type * type_object_to_type(PyObject *obj)
gdb::unique_xmalloc_ptr< char > python_string_to_target_string(PyObject *obj)
gdbpy_ref gdb_py_object_from_longest(LONGEST l)
void gdbpy_convert_exception(const struct gdb_exception &exception)
int gdb_py_int_as_long(PyObject *obj, long *result)
int gdb_pymodule_addobject(PyObject *module, const char *name, PyObject *object)
gdb::unique_xmalloc_ptr< char > python_string_to_host_string(PyObject *obj)
int gdbpy_is_string(PyObject *obj)
gdbpy_ref gdb_py_object_from_ulongest(ULONGEST l)
static int get_field_flag(PyObject *field, const char *flag_name)
static int valpy_richcompare_throw(PyObject *self, PyObject *other, int op)
struct value * convert_value_from_python(PyObject *obj)
static PyObject * valpy_divide(PyObject *self, PyObject *other)
static void valpy_clear_value(value_object *self)
#define builtin_type_pylong
static PyObject * valpy_string(PyObject *self, PyObject *args, PyObject *kw)
static PyObject * valpy_richcompare(PyObject *self, PyObject *other, int op)
static int valpy_nonzero(PyObject *self)
#define builtin_type_pybool
static PyObject * valpy_lsh(PyObject *self, PyObject *other)
static PyObject * valpy_reference_value(PyObject *self, PyObject *args, enum type_code refcode)
int gdbpy_is_value_object(PyObject *obj)
static PyObject * valpy_do_cast(PyObject *self, PyObject *args, enum exp_opcode op)
static PyObject * valpy_add(PyObject *self, PyObject *other)
static int valpy_init(PyObject *self, PyObject *args, PyObject *kwds)
static int value_has_field(struct value *v, PyObject *field)
static Py_ssize_t valpy_length(PyObject *self)
static PyObject * valpy_rsh(PyObject *self, PyObject *other)
static struct type * get_field_type(PyObject *field)
static PyObject * valpy_lazy_string(PyObject *self, PyObject *args, PyObject *kw)
static PyObject * valpy_get_dynamic_type(PyObject *self, void *closure)
static PyMethodDef value_object_methods[]
PyObject * value_to_value_object(struct value *val)
struct value * value_object_to_value(PyObject *self)
static PyObject * valpy_invert(PyObject *self)
static PyObject * valpy_xor(PyObject *self, PyObject *other)
static PyObject * valpy_assign(PyObject *self_obj, PyObject *args)
PyObject * gdbpy_add_history(PyObject *self, PyObject *args)
static PyObject * valpy_call(PyObject *self, PyObject *args, PyObject *keywords)
static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION gdbpy_initialize_values(void)
static PyObject * valpy_binop_throw(enum valpy_opcode opcode, PyObject *self, PyObject *other)
static PyObject * valpy_long(PyObject *self)
static PyObject * valpy_format_string(PyObject *self, PyObject *args, PyObject *kw)
static PyObject * valpy_get_address(PyObject *self, void *closure)
PyObject * gdbpy_history_count(PyObject *self, PyObject *args)
static void valpy_dealloc(PyObject *obj)
static PyObject * valpy_reinterpret_cast(PyObject *self, PyObject *args)
static int valpy_setitem(PyObject *self, PyObject *key, PyObject *value)
static PyObject * valpy_positive(PyObject *self)
static PyMappingMethods value_object_as_mapping
PyTypeObject value_object_type
static gdb_PyGetSetDef value_object_getset[]
PyObject * gdbpy_history(PyObject *self, PyObject *args)
static PyObject * valpy_rvalue_reference_value(PyObject *self, PyObject *args)
PyObject * gdbpy_set_convenience_variable(PyObject *self, PyObject *args)
static bool copy_py_bool_obj(bool *dest, PyObject *src_obj)
static PyObject * valpy_float(PyObject *self)
static PyObject * valpy_subtract(PyObject *self, PyObject *other)
static PyObject * valpy_or(PyObject *self, PyObject *other)
static PyObject * valpy_fetch_lazy(PyObject *self, PyObject *args)
static PyObject * valpy_binop(enum valpy_opcode opcode, PyObject *self, PyObject *other)
static PyObject * valpy_negative(PyObject *self)
#define STRIP_REFERENCE(TYPE)
static PyObject * valpy_power(PyObject *self, PyObject *other, PyObject *unused)
static PyObject * valpy_absolute(PyObject *self)
static PyObject * valpy_lvalue_reference_value(PyObject *self, PyObject *args)
#define builtin_type_pyint
static PyObject * valpy_dynamic_cast(PyObject *self, PyObject *args)
void gdbpy_preserve_values(const struct extension_language_defn *extlang, struct objfile *objfile, htab_t copied_types)
static PyObject * valpy_const_value(PyObject *self, PyObject *args)
static PyObject * valpy_remainder(PyObject *self, PyObject *other)
static PyObject * valpy_cast(PyObject *self, PyObject *args)
static PyNumberMethods value_object_as_number
static PyObject * valpy_get_type(PyObject *self, void *closure)
static PyObject * valpy_multiply(PyObject *self, PyObject *other)
static struct value * convert_buffer_and_type_to_value(PyObject *obj, struct type *type)
static PyObject * valpy_get_is_lazy(PyObject *self, void *closure)
PyObject * gdbpy_convenience_variable(PyObject *self, PyObject *args)
static PyObject * valpy_get_is_optimized_out(PyObject *self, void *closure)
static PyObject * valpy_dereference(PyObject *self, PyObject *args)
static Py_hash_t valpy_hash(PyObject *self)
static PyObject * valpy_referenced_value(PyObject *self, PyObject *args)
static PyObject * valpy_str(PyObject *self)
static PyObject * valpy_and(PyObject *self, PyObject *other)
#define builtin_type_pyfloat
static PyObject * valpy_getitem(PyObject *self, PyObject *key)
static value_object * values_in_python
static void note_value(value_object *value_obj)
#define builtin_type_upylong
static PyObject * valpy_to_array(PyObject *self, PyObject *args)
std::unique_ptr< Py_buffer, Py_buffer_deleter > Py_buffer_up
#define CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION
#define Py_TPFLAGS_CHECKTYPES
#define GDBPY_INITIALIZE_FILE(INIT,...)
#define GDB_PY_SET_HANDLE_EXCEPTION(Exception)
PyObject * gdbpy_value_cst
#define GDB_PY_HANDLE_EXCEPTION(Exception)
static int gdb_PyArg_ParseTupleAndKeywords(PyObject *args, PyObject *kw, const char *format, const char **keywords,...)
virtual struct value * value_string(struct gdbarch *gdbarch, const char *ptr, ssize_t len) const
struct type * target_type() const
bool is_pointer_or_reference() const
struct value_object * prev
PyObject_HEAD struct value_object * next
static struct value * zero(struct type *type, enum lval_type lv)
void preserve(struct objfile *objfile, htab_t copied_types)
gdb::array_view< const gdb_byte > contents()
struct type * type() const
value(struct type *type_)
bool target_float_is_zero(const gdb_byte *addr, const struct type *type)
double target_float_to_host_double(const gdb_byte *addr, const struct type *type)
void quit_force(int *exit_arg, int from_tty)
struct value * value_subscript(struct value *array, LONGEST index)
struct value * value_x_binop(struct value *arg1, struct value *arg2, enum exp_opcode op, enum exp_opcode otherop, enum noside noside)
struct value * value_neg(struct value *arg1)
struct value * value_complement(struct value *arg1)
struct value * value_to_array(struct value *val)
int binop_user_defined_p(enum exp_opcode op, struct value *arg1, struct value *arg2)
int value_equal(struct value *arg1, struct value *arg2)
int value_less(struct value *arg1, struct value *arg2)
struct value * value_ptradd(struct value *arg1, LONGEST arg2)
LONGEST value_ptrdiff(struct value *arg1, struct value *arg2)
struct value * value_binop(struct value *arg1, struct value *arg2, enum exp_opcode op)
struct value * value_struct_elt(struct value **argp, gdb::optional< gdb::array_view< value * > > args, const char *name, int *static_memfuncp, const char *err)
struct value * value_addr(struct value *arg1)
struct value * value_cast(struct type *type, struct value *arg2)
struct value * value_assign(struct value *toval, struct value *fromval)
struct value * value_ind(struct value *arg1)
struct value * value_struct_elt_bitpos(struct value **argp, int bitpos, struct type *ftype, const char *err)
struct value * value_ref(struct value *arg1, enum type_code refcode)
struct value * value_dynamic_cast(struct type *type, struct value *arg)
struct value * value_reinterpret_cast(struct type *type, struct value *arg)
void common_val_print(struct value *value, struct ui_file *stream, int recurse, const struct value_print_options *options, const struct language_defn *language)
struct value * value_of_internalvar(struct gdbarch *gdbarch, struct internalvar *var)
bool is_floating_value(struct value *val)
void clear_internalvar(struct internalvar *var)
CORE_ADDR value_as_address(struct value *val)
struct value * value_from_ulongest(struct type *type, ULONGEST num)
struct internalvar * lookup_only_internalvar(const char *name)
ULONGEST value_history_count()
struct value * value_from_longest(struct type *type, LONGEST num)
struct value * coerce_ref(struct value *arg)
struct value * value_from_contents(struct type *type, const gdb_byte *contents)
void set_internalvar(struct internalvar *var, struct value *val)
struct internalvar * lookup_internalvar(const char *name)
LONGEST value_as_long(struct value *val)
struct value * make_cv_value(int cnst, int voltl, struct value *v)
struct value * value_from_host_double(struct type *type, double d)
struct value * access_value_history(int num)
value_ref_ptr release_value(struct value *val)