GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions | Variables
scm-value.c File Reference
#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_smobvlscm_get_value_smob_arg_unsafe (SCM self, int arg_pos, const char *func_name)
 
struct valuevlscm_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_smobvalues_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 []
 

Function Documentation

◆ gdbscm_history_append_x()

static SCM gdbscm_history_append_x ( SCM value)
static

◆ gdbscm_history_ref()

static SCM gdbscm_history_ref ( SCM index)
static

◆ gdbscm_initialize_values()

void gdbscm_initialize_values ( void )

◆ gdbscm_make_lazy_value()

static SCM gdbscm_make_lazy_value ( SCM type_scm,
SCM address_scm )
static

◆ gdbscm_make_value()

static SCM gdbscm_make_value ( SCM x,
SCM rest )
static

◆ gdbscm_parse_and_eval()

static SCM gdbscm_parse_and_eval ( SCM expr_scm)
static

◆ gdbscm_preserve_values()

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.

◆ gdbscm_reference_value()

static SCM gdbscm_reference_value ( SCM self,
enum type_code refcode )
static

◆ gdbscm_value_address()

static SCM gdbscm_value_address ( SCM self)
static

◆ gdbscm_value_call()

static SCM gdbscm_value_call ( SCM self,
SCM args )
static

◆ gdbscm_value_cast()

static SCM gdbscm_value_cast ( SCM self,
SCM new_type )
static

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

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

◆ gdbscm_value_const_value()

static SCM gdbscm_value_const_value ( SCM self)
static

◆ gdbscm_value_dereference()

static SCM gdbscm_value_dereference ( SCM self)
static

◆ gdbscm_value_dynamic_cast()

static SCM gdbscm_value_dynamic_cast ( SCM self,
SCM new_type )
static

Definition at line 668 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

◆ gdbscm_value_fetch_lazy_x()

static SCM gdbscm_value_fetch_lazy_x ( SCM self)
static

◆ gdbscm_value_field()

static SCM gdbscm_value_field ( SCM self,
SCM field_scm )
static

◆ gdbscm_value_lazy_p()

static SCM gdbscm_value_lazy_p ( SCM self)
static

◆ gdbscm_value_optimized_out_p()

static SCM gdbscm_value_optimized_out_p ( SCM self)
static

◆ gdbscm_value_p()

static SCM gdbscm_value_p ( SCM scm)
static

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

References vlscm_is_value().

◆ gdbscm_value_print()

static SCM gdbscm_value_print ( SCM self)
static

◆ gdbscm_value_reference_value()

static SCM gdbscm_value_reference_value ( SCM self)
static

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

References gdbscm_reference_value().

◆ gdbscm_value_referenced_value()

static SCM gdbscm_value_referenced_value ( SCM self)
static

◆ gdbscm_value_reinterpret_cast()

static SCM gdbscm_value_reinterpret_cast ( SCM self,
SCM new_type )
static

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

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

◆ gdbscm_value_rvalue_reference_value()

static SCM gdbscm_value_rvalue_reference_value ( SCM self)
static

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

References gdbscm_reference_value().

◆ gdbscm_value_subscript()

static SCM gdbscm_value_subscript ( SCM self,
SCM index_scm )
static

◆ gdbscm_value_to_bool()

static SCM gdbscm_value_to_bool ( SCM self)
static

◆ gdbscm_value_to_bytevector()

static SCM gdbscm_value_to_bytevector ( SCM self)
static

◆ gdbscm_value_to_integer()

static SCM gdbscm_value_to_integer ( SCM self)
static

◆ gdbscm_value_to_lazy_string()

static SCM gdbscm_value_to_lazy_string ( SCM self,
SCM rest )
static

◆ gdbscm_value_to_real()

static SCM gdbscm_value_to_real ( SCM self)
static

◆ gdbscm_value_to_string()

static SCM gdbscm_value_to_string ( SCM self,
SCM rest )
static

◆ gdbscm_value_type()

static SCM gdbscm_value_type ( SCM self)
static

◆ is_intlike()

static int is_intlike ( struct type * type,
int ptr_ok )
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().

◆ vlscm_do_cast()

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

◆ vlscm_equal_p_value_smob()

static SCM vlscm_equal_p_value_smob ( SCM v1,
SCM v2 )
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().

◆ vlscm_forget_value_smob()

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

◆ vlscm_free_value_smob()

static size_t vlscm_free_value_smob ( SCM self)
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().

◆ 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 287 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

◆ vlscm_is_value()

int vlscm_is_value ( SCM scm)

◆ vlscm_make_value_smob()

static SCM vlscm_make_value_smob ( void )
static

◆ vlscm_print_value_smob()

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

◆ vlscm_remember_scheme_value()

static void vlscm_remember_scheme_value ( value_smob * v_smob)
static

◆ vlscm_scm_from_value()

SCM vlscm_scm_from_value ( struct value * value)

◆ vlscm_scm_from_value_no_release()

SCM vlscm_scm_from_value_no_release ( struct value * value)

◆ vlscm_scm_to_value()

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

Variable Documentation

◆ encoding_keyword

SCM encoding_keyword
static

◆ error_symbol

SCM error_symbol
static

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

Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().

◆ errors_keyword

SCM errors_keyword
static

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

Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().

◆ escape_symbol

SCM escape_symbol
static

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

Referenced by gdbscm_initialize_values().

◆ length_keyword

SCM length_keyword
static

◆ substitute_symbol

SCM substitute_symbol
static

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

Referenced by gdbscm_initialize_values(), and gdbscm_value_to_string().

◆ type_keyword

SCM type_keyword
static

Definition at line 72 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 1344 of file scm-value.c.

Referenced by gdbscm_initialize_values().

◆ value_smob_name

const char value_smob_name[] = "gdb:value"
static

◆ value_smob_tag

scm_t_bits value_smob_tag
static

Definition at line 64 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