GDB (xrefs)
|
#include "defs.h"
#include "top.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 1332 of file scm-value.c.
References FUNC_NAME, gdbscm_wrap(), value::record_latest(), value_smob::value, and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 1317 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 1530 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 364 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 325 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 1300 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 89 of file scm-value.c.
References value_smob::next, value::preserve(), value_smob::value, and values_in_scheme.
|
static |
Definition at line 497 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 402 of file scm-value.c.
References value_smob::address, value::address, FUNC_NAME, gdbscm_is_exception(), gdbscm_wrap(), quit_force(), value_smob::value, and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 754 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(), value::type(), unpack(), value_smob::value, vlscm_convert_value_from_scheme(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
|
static |
Definition at line 660 of file scm-value.c.
References FUNC_NAME, new_type(), and vlscm_do_cast().
|
static |
Definition at line 531 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 442 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 668 of file scm-value.c.
References FUNC_NAME, new_type(), and vlscm_do_cast().
|
static |
Definition at line 564 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(), value::type(), tyscm_scm_from_type(), unpack(), value_smob::value, value_ind(), value_rtti_type(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 1247 of file scm-value.c.
References value::fetch_lazy(), FUNC_NAME, gdbscm_wrap(), value::lazy(), value_smob::value, and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 686 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 1235 of file scm-value.c.
References FUNC_NAME, value::lazy(), value_smob::value, and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 387 of file scm-value.c.
References FUNC_NAME, gdbscm_wrap(), value::optimized_out(), value_smob::value, and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 242 of file scm-value.c.
References vlscm_is_value().
|
static |
Definition at line 1264 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 515 of file scm-value.c.
References gdbscm_reference_value().
|
static |
Definition at line 466 of file scm-value.c.
References check_typedef(), type::code(), FUNC_NAME, gdbscm_wrap(), value::type(), value_smob::value, vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
|
static |
Definition at line 676 of file scm-value.c.
References FUNC_NAME, new_type(), and vlscm_do_cast().
|
static |
Definition at line 523 of file scm-value.c.
References gdbscm_reference_value().
|
static |
Definition at line 713 of file scm-value.c.
References type::arch(), check_typedef(), type::code(), coerce_ref(), current_language, FUNC_NAME, gdbscm_wrap(), value::type(), value_smob::value, value_as_long(), value_subscript(), vlscm_convert_value_from_scheme(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().
|
static |
Definition at line 866 of file scm-value.c.
References check_typedef(), type::code(), FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, is_intlike(), type, value::type(), unpack(), value_smob::value, value_as_address(), value_as_long(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 819 of file scm-value.c.
References check_typedef(), value::contents(), FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, type::length(), type, value::type(), unpack(), value_smob::value, and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 910 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(), type, value::type(), unpack(), value_smob::value, value_as_address(), value_as_long(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 1137 of file scm-value.c.
References value::address, 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(), type, value::type(), unpack(), value_smob::value, value_as_address(), vlscm_get_value_smob_arg_unsafe(), and xfree().
|
static |
Definition at line 957 of file scm-value.c.
References check(), check_typedef(), type::code(), value::contents(), FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_out_of_range_error(), is_floating_value(), is_intlike(), type::is_unsigned(), target_float_to_host_double(), type, value::type(), unpack(), value_smob::value, value_as_long(), value_equal(), value_from_host_double(), value_from_longest(), value_from_ulongest(), and vlscm_get_value_smob_arg_unsafe().
|
static |
Definition at line 1039 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 549 of file scm-value.c.
References FUNC_NAME, value_smob::type, value::type(), tyscm_scm_from_type(), value_smob::value, and vlscm_get_value_smob_arg_unsafe().
Referenced by gdbscm_value_dynamic_type().
|
static |
Definition at line 853 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 628 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 186 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 113 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 130 of file scm-value.c.
References value::decref(), value_smob::value, and vlscm_forget_value_smob().
Referenced by gdbscm_initialize_values().
|
static |
Definition at line 287 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 299 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 234 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 209 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 143 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 101 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 252 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 269 of file scm-value.c.
References value::incref(), value_smob::value, value, 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 311 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 73 of file scm-value.c.
Referenced by gdbscm_initialize_values(), gdbscm_value_to_lazy_string(), and gdbscm_value_to_string().
|
static |
Definition at line 78 of file scm-value.c.
Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().
|
static |
Definition at line 74 of file scm-value.c.
Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().
|
static |
Definition at line 79 of file scm-value.c.
Referenced by gdbscm_initialize_values().
|
static |
Definition at line 75 of file scm-value.c.
Referenced by gdbscm_initialize_values(), gdbscm_value_to_lazy_string(), and gdbscm_value_to_string().
|
static |
Definition at line 80 of file scm-value.c.
Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().
|
static |
Definition at line 72 of file scm-value.c.
Referenced by gdbscm_initialize_values(), and gdbscm_make_value().
|
static |
Definition at line 1344 of file scm-value.c.
Referenced by gdbscm_initialize_values().
|
static |
Definition at line 61 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 64 of file scm-value.c.
Referenced by gdbscm_initialize_values(), vlscm_is_value(), and vlscm_make_value_smob().
|
static |
Definition at line 69 of file scm-value.c.
Referenced by gdbscm_preserve_values(), vlscm_forget_value_smob(), and vlscm_remember_scheme_value().