GDB (xrefs)

Classes | Typedefs | Functions | Variables
scm-value.c File Reference
`#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

## Typedefs
typedef struct _value_smob | 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)
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_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 []

## Typedef Documentation

## ◆ value_smob

typedef struct _value_smob value_smob

## Function Documentation

## ◆ gdbscm_history_append_x()

static SCM gdbscm_history_append_x | ( | SCM | value | ) |
| static

Definition at line 1434 of file scm-value.c.

References CATCH, END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, record_latest_value(), RETURN_MASK_ALL, TRY, _value_smob::value, and vlscm_get_value_smob_arg_unsafe().

## ◆ gdbscm_history_ref()

static SCM gdbscm_history_ref | ( | SCM | index | ) |
| static

Definition at line 1410 of file scm-value.c.

References access_value_history(), CATCH, END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_parse_function_args(), RETURN_MASK_ALL, TRY, and vlscm_scm_from_value().

## ◆ gdbscm_initialize_values()

void gdbscm_initialize_values | ( | void |  | ) |

Definition at line 1629 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().

## ◆ gdbscm_make_lazy_value()

static SCM gdbscm_make_lazy_value | ( | SCM | type_scm,
|  | SCM | address_scm
| ) |  |
| static

Definition at line 352 of file scm-value.c.

References CATCH, do_cleanups(), END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS, gdbscm_is_exception(), gdbscm_parse_function_args(), gdbscm_throw(), make_cleanup_value_free_to_mark(), RETURN_MASK_ALL, TRY, type, tyscm_get_type_smob_arg_unsafe(), tyscm_type_smob_type(), value_from_contents_and_address(), value_mark(), and vlscm_scm_from_value().

## ◆ gdbscm_make_value()

static SCM gdbscm_make_value | ( | SCM | x,
|  | SCM | rest
| ) |  |
| static

Definition at line 305 of file scm-value.c.

References current_language, do_cleanups(), FUNC_NAME, gdbscm_is_exception(), gdbscm_parse_function_args(), gdbscm_throw(), get_current_arch(), make_cleanup_value_free_to_mark(), type_keyword, tyscm_get_type_smob_arg_unsafe(), tyscm_type_smob_type(), value_mark(), vlscm_convert_typed_value_from_scheme(), and vlscm_scm_from_value().

## ◆ gdbscm_parse_and_eval()

static SCM gdbscm_parse_and_eval | ( | SCM | expr_scm | ) |
| static

Definition at line 1369 of file scm-value.c.

References CATCH, do_cleanups(), END_CATCH, FUNC_NAME, gdb_assert, GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS, gdbscm_is_exception(), gdbscm_parse_function_args(), gdbscm_throw(), make_cleanup(), make_cleanup_value_free_to_mark(), parse_and_eval(), RETURN_MASK_ALL, TRY, value_mark(), vlscm_scm_from_value(), and xfree().

## ◆ gdbscm_preserve_values()

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.

## ◆ gdbscm_value_address()

static SCM gdbscm_value_address | ( | SCM | self | ) |
| static

Definition at line 417 of file scm-value.c.

References _value_smob::address, CATCH, do_cleanups(), END_CATCH, FUNC_NAME, gdbscm_is_exception(), gdbscm_throw(), make_cleanup_value_free_to_mark(), RETURN_MASK_ALL, TRY, _value_smob::value, value_addr(), value_mark(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().

## ◆ gdbscm_value_call()

static SCM gdbscm_value_call | ( | SCM | self,
|  | SCM | args
| ) |  |
| static

Definition at line 805 of file scm-value.c.

References _, call_function_by_hand(), CATCH, check_typedef(), current_language, do_cleanups(), END_CATCH, FUNC_NAME, gdb_assert, GDBSCM_ARG_NONE, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_is_exception(), gdbscm_is_true, gdbscm_throw(), get_current_arch(), make_cleanup_value_free_to_mark(), RETURN_MASK_ALL, TRY, TYPE_CODE, TYPE_CODE_FUNC, _value_smob::value, value_mark(), value_type(), vlscm_convert_value_from_scheme(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().

## ◆ gdbscm_value_cast()

static SCM gdbscm_value_cast | ( | SCM | self,
|  | SCM | new_type
| ) |  |
| static

Definition at line 667 of file scm-value.c.

References FUNC_NAME, new_type(), and vlscm_do_cast().

## ◆ gdbscm_value_dereference()

static SCM gdbscm_value_dereference | ( | SCM | self | ) |
| static

Definition at line 453 of file scm-value.c.

References CATCH, do_cleanups(), END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS, gdbscm_is_exception(), gdbscm_throw(), make_cleanup_value_free_to_mark(), RETURN_MASK_ALL, TRY, _value_smob::value, value_ind(), value_mark(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().

## ◆ gdbscm_value_dynamic_cast()

static SCM gdbscm_value_dynamic_cast | ( | SCM | self,
|  | SCM | new_type
| ) |  |
| static

Definition at line 675 of file scm-value.c.

References FUNC_NAME, new_type(), and vlscm_do_cast().

## ◆ gdbscm_value_dynamic_type()

static SCM gdbscm_value_dynamic_type | ( | SCM | self | ) |
| static

Definition at line 554 of file scm-value.c.

References CATCH, check_typedef(), coerce_ref(), do_cleanups(), _value_smob::dynamic_type, END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_value_type(), lookup_lvalue_reference_type(), lookup_pointer_type(), make_cleanup_value_free_to_mark(), RETURN_MASK_ALL, TRY, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_REF, TYPE_CODE_STRUCT, TYPE_TARGET_TYPE, tyscm_scm_from_type(), _value_smob::value, value_ind(), value_mark(), value_rtti_type(), value_type(), and vlscm_get_value_smob_arg_unsafe().

## ◆ gdbscm_value_fetch_lazy_x()

static SCM gdbscm_value_fetch_lazy_x | ( | SCM | self | ) |
| static

Definition at line 1311 of file scm-value.c.

References CATCH, END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, RETURN_MASK_ALL, TRY, _value_smob::value, value_fetch_lazy(), value_lazy(), and vlscm_get_value_smob_arg_unsafe().

## ◆ gdbscm_value_field()

static SCM gdbscm_value_field | ( | SCM | self,
|  | SCM | field_scm
| ) |  |
| static

Definition at line 693 of file scm-value.c.

References _, CATCH, do_cleanups(), END_CATCH, FUNC_NAME, gdb_assert, GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS, gdbscm_is_exception(), gdbscm_scm_to_c_string(), gdbscm_throw(), make_cleanup(), make_cleanup_value_free_to_mark(), RETURN_MASK_ALL, TRY, _value_smob::value, value_mark(), value_struct_elt(), vlscm_get_value_smob_arg_unsafe(), vlscm_scm_from_value(), and xfree().

## ◆ gdbscm_value_lazy_p()

static SCM gdbscm_value_lazy_p | ( | SCM | self | ) |
| static

Definition at line 1299 of file scm-value.c.

References FUNC_NAME, _value_smob::value, value_lazy(), and vlscm_get_value_smob_arg_unsafe().

## ◆ gdbscm_value_optimized_out_p()

static SCM gdbscm_value_optimized_out_p | ( | SCM | self | ) |
| static

Definition at line 393 of file scm-value.c.

References CATCH, END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, RETURN_MASK_ALL, TRY, _value_smob::value, value_optimized_out(), and vlscm_get_value_smob_arg_unsafe().

## ◆ gdbscm_value_p()

static SCM gdbscm_value_p | ( | SCM | scm | ) |
| static

Definition at line 239 of file scm-value.c.

References vlscm_is_value().

## ◆ gdbscm_value_print()

static SCM gdbscm_value_print | ( | SCM | self | ) |
| static

Definition at line 1334 of file scm-value.c.

References string_file::c_str(), CATCH, common_val_print(), current_language, value_print_options::deref_ref, END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, get_user_print_options(), host_charset(), RETURN_MASK_ALL, string_file::size(), TRY, _value_smob::value, and vlscm_get_value_smob_arg_unsafe().

## ◆ gdbscm_value_referenced_value()

static SCM gdbscm_value_referenced_value | ( | SCM | self | ) |
| static

Definition at line 494 of file scm-value.c.

References _, CATCH, check_typedef(), coerce_ref(), do_cleanups(), END_CATCH, error(), FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS, gdbscm_is_exception(), gdbscm_throw(), make_cleanup_value_free_to_mark(), RETURN_MASK_ALL, TRY, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_REF, _value_smob::value, value_ind(), value_mark(), value_type(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().

## ◆ gdbscm_value_reinterpret_cast()

static SCM gdbscm_value_reinterpret_cast | ( | SCM | self,
|  | SCM | new_type
| ) |  |
| static

Definition at line 683 of file scm-value.c.

References FUNC_NAME, new_type(), and vlscm_do_cast().

## ◆ gdbscm_value_subscript()

static SCM gdbscm_value_subscript | ( | SCM | self,
|  | SCM | index_scm
| ) |  |
| static

Definition at line 739 of file scm-value.c.

References _, CATCH, check_typedef(), coerce_ref(), current_language, do_cleanups(), END_CATCH, error(), FUNC_NAME, gdb_assert, GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS, gdbscm_is_exception(), gdbscm_throw(), get_type_arch(), make_cleanup_value_free_to_mark(), RETURN_MASK_ALL, TRY, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_PTR, _value_smob::value, value_as_long(), value_mark(), value_subscript(), value_type(), vlscm_convert_value_from_scheme(), vlscm_get_value_smob_arg_unsafe(), and vlscm_scm_from_value().

## ◆ gdbscm_value_to_bool()

static SCM gdbscm_value_to_bool | ( | SCM | self | ) |
| static

Definition at line 928 of file scm-value.c.

References _, CATCH, check_typedef(), END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, is_intlike(), RETURN_MASK_ALL, TRY, type, TYPE_CODE, TYPE_CODE_PTR, _value_smob::value, value_as_address(), value_as_long(), value_type(), and vlscm_get_value_smob_arg_unsafe().

## ◆ gdbscm_value_to_bytevector()

static SCM gdbscm_value_to_bytevector | ( | SCM | self | ) |
| static

Definition at line 882 of file scm-value.c.

References CATCH, check_typedef(), END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, type::length, RETURN_MASK_ALL, TRY, type, TYPE_LENGTH, _value_smob::value, value_contents(), value_type(), and vlscm_get_value_smob_arg_unsafe().

## ◆ gdbscm_value_to_integer()

static SCM gdbscm_value_to_integer | ( | SCM | self | ) |
| static

Definition at line 971 of file scm-value.c.

References _, CATCH, check_typedef(), END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_scm_from_longest(), gdbscm_scm_from_ulongest(), is_intlike(), RETURN_MASK_ALL, TRY, type, TYPE_CODE, TYPE_CODE_PTR, TYPE_UNSIGNED, _value_smob::value, value_as_address(), value_as_long(), value_type(), and vlscm_get_value_smob_arg_unsafe().

## ◆ gdbscm_value_to_lazy_string()

static SCM gdbscm_value_to_lazy_string | ( | SCM | self,
|  | SCM | rest
| ) |  |
| static

Definition at line 1195 of file scm-value.c.

References _, CATCH, check_typedef(), do_cleanups(), encoding_keyword, END_CATCH, error(), exception_none, 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(), make_cleanup(), make_cleanup_value_free_to_mark(), RETURN_MASK_ALL, TRY, type, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_PTR, TYPE_TARGET_TYPE, _value_smob::value, value_address(), value_as_address(), value_mark(), value_type(), vlscm_get_value_smob_arg_unsafe(), and xfree().

## ◆ gdbscm_value_to_real()

static SCM gdbscm_value_to_real | ( | SCM | self | ) |
| static

Definition at line 1017 of file scm-value.c.

References _, allocate_value(), CATCH, check(), check_typedef(), END_CATCH, FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_out_of_range_error(), is_floating_value(), is_intlike(), RETURN_MASK_ALL, target_float_from_host_double(), target_float_to_host_double(), TRY, type, TYPE_CODE, TYPE_CODE_FLT, TYPE_UNSIGNED, _value_smob::value, value_as_long(), value_contents(), value_contents_raw(), value_equal(), value_from_longest(), value_from_ulongest(), value_type(), and vlscm_get_value_smob_arg_unsafe().

## ◆ gdbscm_value_to_string()

static SCM gdbscm_value_to_string | ( | SCM | self,
|  | SCM | rest
| ) |  |
| static

Definition at line 1098 of file scm-value.c.

References _, CATCH, discard_cleanups(), do_cleanups(), encoding_keyword, END_CATCH, error_symbol, errors_keyword, FUNC_NAME, gdbscm_dynwind_xfree(), gdbscm_guile_version_is_at_least(), GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS, gdbscm_make_out_of_range_error(), gdbscm_parse_function_args(), gdbscm_throw(), LA_GET_STRING, length_keyword, make_cleanup(), RETURN_MASK_ALL, substitute_symbol, TRY, TYPE_LENGTH, _value_smob::value, vlscm_get_value_smob_arg_unsafe(), and xfree().

## ◆ gdbscm_value_type()

static SCM gdbscm_value_type | ( | SCM | self | ) |
| static

Definition at line 539 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().

## ◆ is_intlike()

static int is_intlike | ( | struct type * | type,
|  | int | ptr_ok
| ) |  |
| static

Definition at line 915 of file scm-value.c.

References TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_INT, and TYPE_CODE_PTR.

Referenced by gdbscm_value_to_bool(), gdbscm_value_to_integer(), and gdbscm_value_to_real().

## ◆ vlscm_do_cast()

static SCM vlscm_do_cast | ( | SCM | self,
|  | SCM | type_scm,
|  | enum exp_opcode | op,
|  | const char * | func_name
| ) |  |
| static

Definition at line 620 of file scm-value.c.

References CATCH, do_cleanups(), END_CATCH, FUNC_NAME, gdb_assert, GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS, gdbscm_is_exception(), gdbscm_throw(), make_cleanup_value_free_to_mark(), RETURN_MASK_ALL, TRY, tyscm_get_type_smob_arg_unsafe(), tyscm_type_smob_type(), _value_smob::value, value_cast(), value_dynamic_cast(), value_mark(), 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().

## ◆ vlscm_equal_p_value_smob()

static SCM vlscm_equal_p_value_smob | ( | SCM | v1,
|  | SCM | v2
| ) |  |
| static

Definition at line 184 of file scm-value.c.

References CATCH, END_CATCH, GDBSCM_HANDLE_GDB_EXCEPTION, RETURN_MASK_ALL, TRY, _value_smob::value, and value_equal().

Referenced by gdbscm_initialize_values().

## ◆ vlscm_forget_value_smob()

static void vlscm_forget_value_smob | ( | value_smob * | v_smob | ) |
| static

Definition at line 112 of file scm-value.c.

References gdb_assert, _value_smob::next, _value_smob::prev, and values_in_scheme.

Referenced by vlscm_free_value_smob().

## ◆ vlscm_free_value_smob()

static size_t vlscm_free_value_smob | ( | SCM | self | ) |
| static

Definition at line 129 of file scm-value.c.

References _value_smob::value, value_free(), and vlscm_forget_value_smob().

Referenced by gdbscm_initialize_values().

## ◆ vlscm_get_value_arg_unsafe()

static SCM vlscm_get_value_arg_unsafe | ( | SCM | self,
|  | int | arg_pos,
|  | const char * | func_name
| ) |  |
| static

Definition at line 267 of file scm-value.c.

References value_smob_name, and vlscm_is_value().

Referenced by vlscm_get_value_smob_arg_unsafe().

## ◆ vlscm_get_value_smob_arg_unsafe()

static value_smob* vlscm_get_value_smob_arg_unsafe | ( | SCM | self,
|  | int | arg_pos,
|  | const char * | func_name
| ) |  |
| static

Definition at line 279 of file scm-value.c.

References vlscm_get_value_arg_unsafe().

Referenced by gdbscm_history_append_x(), gdbscm_value_address(), gdbscm_value_call(), 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().

## ◆ vlscm_is_value()

int vlscm_is_value | ( | SCM | scm | ) |

Definition at line 231 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().

## ◆ vlscm_make_value_smob()

static SCM vlscm_make_value_smob | ( | void |  | ) |
| static

Definition at line 206 of file scm-value.c.

References _value_smob::address, _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().

## ◆ vlscm_print_value_smob()

static int vlscm_print_value_smob | ( | SCM | self,
|  | SCM | port,
|  | scm_print_state * | pstate
| ) |  |
| static

Definition at line 142 of file scm-value.c.

References string_file::c_str(), CATCH, common_val_print(), current_language, value_print_options::deref_ref, END_CATCH, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_printf(), get_user_print_options(), pstate, value_print_options::raw, RETURN_MASK_ALL, TRY, _value_smob::value, and value_smob_name.

Referenced by gdbscm_initialize_values().

## ◆ vlscm_remember_scheme_value()

static void vlscm_remember_scheme_value | ( | value_smob * | v_smob | ) |
| 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().

## ◆ vlscm_scm_from_value()

SCM vlscm_scm_from_value | ( | struct value * | value | ) |

Definition at line 249 of file scm-value.c.

References release_value_or_incref(), _value_smob::value, vlscm_make_value_smob(), and vlscm_remember_scheme_value().

Referenced by gdbscm_apply_val_pretty_printer(), 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_symbol_value(), gdbscm_value_address(), gdbscm_value_call(), gdbscm_value_dereference(), gdbscm_value_field(), gdbscm_value_referenced_value(), gdbscm_value_subscript(), vlscm_binop(), vlscm_do_cast(), and vlscm_unop().

## ◆ vlscm_scm_to_value()

struct value* vlscm_scm_to_value | ( | SCM | v_scm | ) |

Definition at line 291 of file scm-value.c.

References gdb_assert, _value_smob::value, and vlscm_is_value().

Referenced by vlscm_convert_typed_value_from_scheme().

## Variable Documentation

## ◆ encoding_keyword

SCM encoding_keyword
| 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().

## ◆ error_symbol

SCM error_symbol
| static

Definition at line 77 of file scm-value.c.

Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().

## ◆ errors_keyword

SCM errors_keyword
| static

Definition at line 73 of file scm-value.c.

Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().

## ◆ escape_symbol

SCM escape_symbol
| static

Definition at line 78 of file scm-value.c.

Referenced by gdbscm_initialize_values().

## ◆ length_keyword

SCM length_keyword
| 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().

## ◆ substitute_symbol

SCM substitute_symbol
| static

Definition at line 79 of file scm-value.c.

Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().

## ◆ type_keyword

SCM type_keyword
| static

Definition at line 71 of file scm-value.c.

Referenced by gdbscm_initialize_values(), and gdbscm_make_value().

## ◆ value_functions

const scheme_function value_functions[]
| static

Definition at line 1458 of file scm-value.c.

Referenced by gdbscm_initialize_values().

## ◆ value_smob_name

const char value_smob_name[] = "gdb:value"
| 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().

## ◆ value_smob_tag

scm_t_bits value_smob_tag
| static

Definition at line 63 of file scm-value.c.

Referenced by gdbscm_initialize_values(), vlscm_is_value(), and vlscm_make_value_smob().

## ◆ values_in_scheme

value_smob* values_in_scheme
| static

Definition at line 68 of file scm-value.c.

Referenced by gdbscm_preserve_values(), vlscm_forget_value_smob(), and vlscm_remember_scheme_value().