diff options
author | Per Bothner <per@bothner.com> | 1995-10-05 05:24:41 +0000 |
---|---|---|
committer | Per Bothner <per@bothner.com> | 1995-10-05 05:24:41 +0000 |
commit | 3c02944a988ffb5ce4599a8013675a3ea49e538b (patch) | |
tree | 31062c6ae0d27a423e2379b1269d79280e428fd7 /gdb/values.c | |
parent | 4caf3f7d0ec772da6f419b5e0cb20e687298537a (diff) | |
download | gdb-3c02944a988ffb5ce4599a8013675a3ea49e538b.zip gdb-3c02944a988ffb5ce4599a8013675a3ea49e538b.tar.gz gdb-3c02944a988ffb5ce4599a8013675a3ea49e538b.tar.bz2 |
* expression.h (enum exp_code): Added OP_NAME.
* expprint.c (print_subexp): Add OP_NAME support.
* parse.c (length_of_subexp, prefixify_subexp): Likewise.
* scm-lang.c (scm_unpack, in_eval_c, scm_lookup_name): new function.
* scm-lang.h: Declare builtin_type_scm; other minor tweaks.
* values.c (unpack_long): If type is SCM, call scm_unpack.
* scm-valprint.c (scm_val_print): Use extract_signed_integer,
instead unpack_long
* scm-lang.c: More Scheme expression parsing from here ...
* scm-exp.c: ... to here. New file.
Also, provide for gdb to evaluate simple constants and names..
* Makefile.in: Note new scm-exp.{c,o}.
Diffstat (limited to 'gdb/values.c')
-rw-r--r-- | gdb/values.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/values.c b/gdb/values.c index 33db594..f4d01df 100644 --- a/gdb/values.c +++ b/gdb/values.c @@ -630,6 +630,10 @@ unpack_long (type, valaddr) register int len = TYPE_LENGTH (type); register int nosign = TYPE_UNSIGNED (type); + if (current_language->la_language == language_scm + && is_scmvalue_type (type)) + return scm_unpack (type, valaddr, TYPE_CODE_INT); + switch (code) { case TYPE_CODE_ENUM: |