GDB (xrefs)
|
#include "defs.h"
#include "arch-utils.h"
#include "charset.h"
#include "cp-abi.h"
#include "target-float.h"
#include "infcall.h"
#include "symtab.h"
#include "language.h"
#include "valprint.h"
#include "value.h"
#include "guile-internal.h"
Go to the source code of this file.
Classes | |
struct | value_smob |
Functions | |
void | gdbscm_preserve_values (const struct extension_language_defn *extlang, struct objfile *objfile, htab_t copied_types) |
static void | vlscm_remember_scheme_value (value_smob *v_smob) |
static void | vlscm_forget_value_smob (value_smob *v_smob) |
static size_t | vlscm_free_value_smob (SCM self) |
static int | vlscm_print_value_smob (SCM self, SCM port, scm_print_state *pstate) |
static SCM | vlscm_equal_p_value_smob (SCM v1, SCM v2) |
static SCM | vlscm_make_value_smob (void) |
int | vlscm_is_value (SCM scm) |
static SCM | gdbscm_value_p (SCM scm) |
SCM | vlscm_scm_from_value (struct value *value) |
SCM | vlscm_scm_from_value_no_release (struct value *value) |
static SCM | vlscm_get_value_arg_unsafe (SCM self, int arg_pos, const char *func_name) |
static value_smob * | vlscm_get_value_smob_arg_unsafe (SCM self, int arg_pos, const char *func_name) |
struct value * | vlscm_scm_to_value (SCM v_scm) |
static SCM | gdbscm_make_value (SCM x, SCM rest) |
static SCM | gdbscm_make_lazy_value (SCM type_scm, SCM address_scm) |
static SCM | gdbscm_value_optimized_out_p (SCM self) |
static SCM | gdbscm_value_address (SCM self) |
static SCM | gdbscm_value_dereference (SCM self) |
static SCM | gdbscm_value_referenced_value (SCM self) |
static SCM | gdbscm_reference_value (SCM self, enum type_code refcode) |
static SCM | gdbscm_value_reference_value (SCM self) |
static SCM | gdbscm_value_rvalue_reference_value (SCM self) |
static SCM | gdbscm_value_const_value (SCM self) |
static SCM | gdbscm_value_type (SCM self) |
static SCM | gdbscm_value_dynamic_type (SCM self) |
static SCM | vlscm_do_cast (SCM self, SCM type_scm, enum exp_opcode op, const char *func_name) |
static SCM | gdbscm_value_cast (SCM self, SCM new_type) |
static SCM | gdbscm_value_dynamic_cast (SCM self, SCM new_type) |
static SCM | gdbscm_value_reinterpret_cast (SCM self, SCM new_type) |
static SCM | gdbscm_value_field (SCM self, SCM field_scm) |
static SCM | gdbscm_value_subscript (SCM self, SCM index_scm) |
static SCM | gdbscm_value_call (SCM self, SCM args) |
static SCM | gdbscm_value_to_bytevector (SCM self) |
static int | is_intlike (struct type *type, int ptr_ok) |
static SCM | gdbscm_value_to_bool (SCM self) |
static SCM | gdbscm_value_to_integer (SCM self) |
static SCM | gdbscm_value_to_real (SCM self) |
static SCM | gdbscm_value_to_string (SCM self, SCM rest) |
static SCM | gdbscm_value_to_lazy_string (SCM self, SCM rest) |
static SCM | gdbscm_value_lazy_p (SCM self) |
static SCM | gdbscm_value_fetch_lazy_x (SCM self) |
static SCM | gdbscm_value_print (SCM self) |
static SCM | gdbscm_parse_and_eval (SCM expr_scm) |
static SCM | gdbscm_history_ref (SCM index) |
static SCM | gdbscm_history_append_x (SCM value) |
void | gdbscm_initialize_values (void) |
Variables | |
static const char | value_smob_name [] = "gdb:value" |
static scm_t_bits | value_smob_tag |
static value_smob * | values_in_scheme |
static SCM | type_keyword |
static SCM | encoding_keyword |
static SCM | errors_keyword |
static SCM | length_keyword |
static SCM | error_symbol |
static SCM | escape_symbol |
static SCM | substitute_symbol |
static const scheme_function | value_functions [] |
|
static |
Definition at line 1327 of file scm-value.c.
References FUNC_NAME, gdbscm_wrap(), record_latest_value(), value_smob::value, and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 1312 of file scm-value.c.
References access_value_history(), FUNC_NAME, gdbscm_parse_function_args(), gdbscm_wrap(), and vlscm_scm_from_value().
void gdbscm_initialize_values | ( | void | ) |
Definition at line 1525 of file scm-value.c.
References encoding_keyword, error_symbol, errors_keyword, escape_symbol, gdbscm_define_functions(), gdbscm_make_smob_type(), length_keyword, substitute_symbol, type_keyword, value_functions, value_smob_name, value_smob_tag, vlscm_equal_p_value_smob(), vlscm_free_value_smob(), and vlscm_print_value_smob().
|
static |
Definition at line 363 of file scm-value.c.
References value::address, FUNC_NAME, gdbscm_parse_function_args(), gdbscm_wrap(), tyscm_get_type_smob_arg_unsafe(), tyscm_type_smob_type(), value_from_contents_and_address(), and vlscm_scm_from_value().
|
static |
Definition at line 324 of file scm-value.c.
References current_language, FUNC_NAME, gdbscm_parse_function_args(), gdbscm_wrap(), get_current_arch(), type_keyword, tyscm_get_type_smob_arg_unsafe(), tyscm_type_smob_type(), vlscm_convert_typed_value_from_scheme(), and vlscm_scm_from_value().
|
static |
Definition at line 1295 of file scm-value.c.
References FUNC_NAME, gdbscm_parse_function_args(), gdbscm_wrap(), parse_and_eval(), and vlscm_scm_from_value().
void gdbscm_preserve_values | ( | const struct extension_language_defn * | extlang, |
struct objfile * | objfile, | ||
htab_t | copied_types | ||
) |
Definition at line 88 of file scm-value.c.
References value_smob::next, preserve_one_value(), value_smob::value, and values_in_scheme.
|
static |
Definition at line 492 of file scm-value.c.
References FUNC_NAME, gdbscm_wrap(), value_smob::value, value_ref(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
Referenced by gdbscm_value_reference_value(), and gdbscm_value_rvalue_reference_value().
|
static |
Definition at line 401 of file scm-value.c.
References value_smob::address, value::address, FUNC_NAME, gdbscm_is_exception(), gdbscm_wrap(), value_smob::value, and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 749 of file scm-value.c.
References call_function_by_hand(), check_typedef(), type::code(), current_language, FUNC_NAME, GDBSCM_ARG_NONE, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_is_true, gdbscm_throw(), gdbscm_wrap(), get_current_arch(), unpack(), value_smob::value, value_type(), vlscm_convert_value_from_scheme(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
|
static |
Definition at line 655 of file scm-value.c.
References FUNC_NAME, new_type(), and vlscm_do_cast().
|
static |
Definition at line 526 of file scm-value.c.
References FUNC_NAME, gdbscm_wrap(), make_cv_value(), value_smob::value, vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
|
static |
Definition at line 437 of file scm-value.c.
References FUNC_NAME, gdbscm_wrap(), value_smob::value, value_ind(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
|
static |
Definition at line 663 of file scm-value.c.
References FUNC_NAME, new_type(), and vlscm_do_cast().
|
static |
Definition at line 559 of file scm-value.c.
References check_typedef(), type::code(), coerce_ref(), value_smob::dynamic_type, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_value_type(), lookup_lvalue_reference_type(), lookup_pointer_type(), type::target_type(), tyscm_scm_from_type(), unpack(), value_smob::value, value_ind(), value_rtti_type(), value_type(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 1242 of file scm-value.c.
References FUNC_NAME, gdbscm_wrap(), value_smob::value, value_fetch_lazy(), value_lazy(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 681 of file scm-value.c.
References FUNC_NAME, gdbscm_scm_to_c_string(), gdbscm_wrap(), value_smob::value, value_struct_elt(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
|
static |
Definition at line 1230 of file scm-value.c.
References FUNC_NAME, value_smob::value, value_lazy(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 386 of file scm-value.c.
References FUNC_NAME, gdbscm_wrap(), value_smob::value, value_optimized_out(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 241 of file scm-value.c.
References vlscm_is_value().
|
static |
Definition at line 1259 of file scm-value.c.
References string_file::c_str(), common_val_print(), current_language, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, get_user_print_options(), host_charset(), string_file::size(), unpack(), value_smob::value, and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 510 of file scm-value.c.
References gdbscm_reference_value().
|
static |
Definition at line 461 of file scm-value.c.
References check_typedef(), code, coerce_ref(), FUNC_NAME, gdbscm_wrap(), value_smob::value, value_ind(), value_type(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
|
static |
Definition at line 671 of file scm-value.c.
References FUNC_NAME, new_type(), and vlscm_do_cast().
|
static |
Definition at line 518 of file scm-value.c.
References gdbscm_reference_value().
|
static |
Definition at line 708 of file scm-value.c.
References type::arch(), check_typedef(), type::code(), coerce_ref(), current_language, FUNC_NAME, gdbscm_wrap(), value_smob::value, value_as_long(), value_subscript(), value_type(), vlscm_convert_value_from_scheme(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
|
static |
Definition at line 861 of file scm-value.c.
References check_typedef(), type::code(), FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, is_intlike(), unpack(), value_smob::value, value_as_address(), value_as_long(), value_type(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 814 of file scm-value.c.
References check_typedef(), FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, type::length(), unpack(), value_smob::value, value_contents(), value_type(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 905 of file scm-value.c.
References check_typedef(), type::code(), FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_scm_from_longest(), gdbscm_scm_from_ulongest(), is_intlike(), type::is_unsigned(), unpack(), value_smob::value, value_as_address(), value_as_long(), value_type(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 1132 of file scm-value.c.
References check_typedef(), type::code(), encoding_keyword, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_is_exception(), gdbscm_out_of_range_error(), gdbscm_parse_function_args(), gdbscm_throw(), get_array_bounds(), type::length(), length_keyword, lookup_array_range_type(), lsscm_make_lazy_string(), type::target_type(), unpack(), value_smob::value, value_address(), value_as_address(), value_type(), vlscm_get_value_smob_arg_unsafe(), and xfree().
|
static |
Definition at line 952 of file scm-value.c.
References check(), check_typedef(), type::code(), FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_out_of_range_error(), is_floating_value(), is_intlike(), type::is_unsigned(), target_float_to_host_double(), unpack(), value_smob::value, value_as_long(), value_contents(), value_equal(), value_from_host_double(), value_from_longest(), value_from_ulongest(), value_type(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 1034 of file scm-value.c.
References c_get_string(), encoding_keyword, error_symbol, errors_keyword, FUNC_NAME, gdbscm_dynwind_xfree(), gdbscm_guile_version_is_at_least(), GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_make_out_of_range_error(), gdbscm_parse_function_args(), gdbscm_throw(), type::length(), length_keyword, substitute_symbol, unpack(), value_smob::value, vlscm_get_value_smob_arg_unsafe(), and xfree().
|
static |
Definition at line 544 of file scm-value.c.
References FUNC_NAME, value_smob::type, tyscm_scm_from_type(), value_smob::value, value_type(), and vlscm_get_value_smob_arg_unsafe().
Referenced by gdbscm_value_dynamic_type().
|
static |
Definition at line 848 of file scm-value.c.
References type::code().
Referenced by gdbscm_value_to_bool(), gdbscm_value_to_integer(), and gdbscm_value_to_real().
|
static |
Definition at line 623 of file scm-value.c.
References FUNC_NAME, gdbscm_wrap(), tyscm_get_type_smob_arg_unsafe(), tyscm_type_smob_type(), value_smob::value, value_cast(), value_dynamic_cast(), value_reinterpret_cast(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
Referenced by gdbscm_value_cast(), gdbscm_value_dynamic_cast(), and gdbscm_value_reinterpret_cast().
|
static |
Definition at line 185 of file scm-value.c.
References GDBSCM_HANDLE_GDB_EXCEPTION, unpack(), value_smob::value, and value_equal().
Referenced by gdbscm_initialize_values().
|
static |
Definition at line 112 of file scm-value.c.
References value_smob::next, value_smob::prev, and values_in_scheme.
Referenced by vlscm_free_value_smob().
|
static |
Definition at line 129 of file scm-value.c.
References value_smob::value, value_decref(), and vlscm_forget_value_smob().
Referenced by gdbscm_initialize_values().
|
static |
Definition at line 286 of file scm-value.c.
References value_smob_name, and vlscm_is_value().
Referenced by vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 298 of file scm-value.c.
References vlscm_get_value_arg_unsafe().
Referenced by gdbscm_history_append_x(), gdbscm_reference_value(), gdbscm_value_address(), gdbscm_value_call(), gdbscm_value_const_value(), gdbscm_value_dereference(), gdbscm_value_dynamic_type(), gdbscm_value_fetch_lazy_x(), gdbscm_value_field(), gdbscm_value_lazy_p(), gdbscm_value_optimized_out_p(), gdbscm_value_print(), gdbscm_value_referenced_value(), gdbscm_value_subscript(), gdbscm_value_to_bool(), gdbscm_value_to_bytevector(), gdbscm_value_to_integer(), gdbscm_value_to_lazy_string(), gdbscm_value_to_real(), gdbscm_value_to_string(), gdbscm_value_type(), and vlscm_do_cast().
int vlscm_is_value | ( | SCM | scm | ) |
Definition at line 233 of file scm-value.c.
References value_smob_tag.
Referenced by gdbscm_value_p(), ppscm_pretty_print_one_value(), vlscm_convert_typed_value_from_scheme(), vlscm_get_value_arg_unsafe(), and vlscm_scm_to_value().
|
static |
Definition at line 208 of file scm-value.c.
References value_smob::address, value_smob::base, value_smob::dynamic_type, gdbscm_init_gsmob(), value_smob::next, value_smob::prev, scm_new_smob(), value_smob::type, value_smob::value, value_smob_name, and value_smob_tag.
Referenced by vlscm_scm_from_value(), and vlscm_scm_from_value_no_release().
|
static |
Definition at line 142 of file scm-value.c.
References string_file::c_str(), common_val_print(), current_language, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_printf(), get_user_print_options(), pstate, unpack(), value_smob::value, and value_smob_name.
Referenced by gdbscm_initialize_values().
|
static |
Definition at line 100 of file scm-value.c.
References value_smob::next, value_smob::prev, and values_in_scheme.
Referenced by vlscm_scm_from_value(), and vlscm_scm_from_value_no_release().
SCM vlscm_scm_from_value | ( | struct value * | value | ) |
Definition at line 251 of file scm-value.c.
References release_value(), value_smob::value, vlscm_make_value_smob(), and vlscm_remember_scheme_value().
Referenced by gdbscm_frame_read_register(), gdbscm_frame_read_var(), gdbscm_history_ref(), gdbscm_lazy_string_to_value(), gdbscm_make_lazy_value(), gdbscm_make_value(), gdbscm_parse_and_eval(), gdbscm_reference_value(), gdbscm_symbol_value(), gdbscm_value_call(), gdbscm_value_const_value(), gdbscm_value_dereference(), gdbscm_value_field(), gdbscm_value_referenced_value(), gdbscm_value_subscript(), vlscm_binop_gdbthrow(), vlscm_do_cast(), and vlscm_unop_gdbthrow().
SCM vlscm_scm_from_value_no_release | ( | struct value * | value | ) |
Definition at line 268 of file scm-value.c.
References value_smob::value, value_incref(), vlscm_make_value_smob(), and vlscm_remember_scheme_value().
Referenced by gdbscm_apply_val_pretty_printer().
struct value * vlscm_scm_to_value | ( | SCM | v_scm | ) |
Definition at line 310 of file scm-value.c.
References value_smob::value, and vlscm_is_value().
Referenced by vlscm_convert_typed_value_from_scheme().
|
static |
Definition at line 72 of file scm-value.c.
Referenced by gdbscm_initialize_values(), gdbscm_value_to_lazy_string(), and gdbscm_value_to_string().
|
static |
Definition at line 77 of file scm-value.c.
Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().
|
static |
Definition at line 73 of file scm-value.c.
Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().
|
static |
Definition at line 78 of file scm-value.c.
Referenced by gdbscm_initialize_values().
|
static |
Definition at line 74 of file scm-value.c.
Referenced by gdbscm_initialize_values(), gdbscm_value_to_lazy_string(), and gdbscm_value_to_string().
|
static |
Definition at line 79 of file scm-value.c.
Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().
|
static |
Definition at line 71 of file scm-value.c.
Referenced by gdbscm_initialize_values(), and gdbscm_make_value().
|
static |
Definition at line 1339 of file scm-value.c.
Referenced by gdbscm_initialize_values().
|
static |
Definition at line 60 of file scm-value.c.
Referenced by gdbscm_initialize_values(), vlscm_get_value_arg_unsafe(), vlscm_make_value_smob(), and vlscm_print_value_smob().
|
static |
Definition at line 63 of file scm-value.c.
Referenced by gdbscm_initialize_values(), vlscm_is_value(), and vlscm_make_value_smob().
|
static |
Definition at line 68 of file scm-value.c.
Referenced by gdbscm_preserve_values(), vlscm_forget_value_smob(), and vlscm_remember_scheme_value().