diff options
Diffstat (limited to 'src/comp.c')
| -rw-r--r-- | src/comp.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/comp.c b/src/comp.c index 823956e147a..93edd4df452 100644 --- a/src/comp.c +++ b/src/comp.c | |||
| @@ -330,6 +330,12 @@ comp_TAGGEDP (gcc_jit_rvalue *obj, unsigned tag) | |||
| 330 | } | 330 | } |
| 331 | 331 | ||
| 332 | static gcc_jit_rvalue * | 332 | static gcc_jit_rvalue * |
| 333 | comp_CONSP (gcc_jit_rvalue *obj) | ||
| 334 | { | ||
| 335 | return comp_TAGGEDP(obj, Lisp_Cons); | ||
| 336 | } | ||
| 337 | |||
| 338 | static gcc_jit_rvalue * | ||
| 333 | comp_FIXNUMP (gcc_jit_rvalue *obj) | 339 | comp_FIXNUMP (gcc_jit_rvalue *obj) |
| 334 | { | 340 | { |
| 335 | /* (! (((unsigned) (XLI (x) >> (USE_LSB_TAG ? 0 : FIXNUM_BITS)) | 341 | /* (! (((unsigned) (XLI (x) >> (USE_LSB_TAG ? 0 : FIXNUM_BITS)) |
| @@ -1004,7 +1010,15 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1004 | 1010 | ||
| 1005 | CASE_CALL_NARGS (nth, 2); | 1011 | CASE_CALL_NARGS (nth, 2); |
| 1006 | CASE_CALL_NARGS (symbolp, 1); | 1012 | CASE_CALL_NARGS (symbolp, 1); |
| 1007 | CASE_CALL_NARGS (consp, 1); | 1013 | |
| 1014 | case Bconsp: | ||
| 1015 | gcc_jit_block_add_assignment ( | ||
| 1016 | comp.bblock->gcc_bb, | ||
| 1017 | NULL, | ||
| 1018 | TOS, | ||
| 1019 | comp_CONSP(gcc_jit_lvalue_as_rvalue (TOS))); | ||
| 1020 | break; | ||
| 1021 | |||
| 1008 | CASE_CALL_NARGS (stringp, 1); | 1022 | CASE_CALL_NARGS (stringp, 1); |
| 1009 | CASE_CALL_NARGS (listp, 1); | 1023 | CASE_CALL_NARGS (listp, 1); |
| 1010 | CASE_CALL_NARGS (eq, 2); | 1024 | CASE_CALL_NARGS (eq, 2); |