518 |
(when (endp types) (return nil)) |
(when (endp types) (return nil)) |
519 |
(cond ((equal types '(*)) |
(cond ((equal types '(*)) |
520 |
(setq types '(t *)))) |
(setq types '(t *)))) |
521 |
(cond ((eq (car types) 'fixnum-float) |
(let ((arg-type (coerce-to-one-value arg-type))) |
522 |
(cond ((type>= 'fixnum arg-type) |
(cond ((eq (car types) 'fixnum-float) |
523 |
(push 'fixnum rts)) |
(cond ((type>= 'fixnum arg-type) |
524 |
((type>= 'long-float arg-type) |
(push 'fixnum rts)) |
525 |
(push 'long-float rts)) |
((type>= 'long-float arg-type) |
526 |
((type>= 'short-float arg-type) |
(push 'long-float rts)) |
527 |
(push 'short-float rts)) |
((type>= 'short-float arg-type) |
528 |
(t (return nil)))) |
(push 'short-float rts)) |
529 |
((type>= (car types) arg-type) |
(t (return nil)))) |
530 |
(push (car types) rts)) |
((type>= (car types) arg-type) |
531 |
(t (return nil))) |
(push (car types) rts)) |
532 |
|
(t (return nil)))) |
533 |
(pop types))) |
(pop types))) |
534 |
(type>= (cadr inline-info) return-type)) |
(type>= (cadr inline-info) return-type)) |
535 |
(cons (reverse rts) (cdr inline-info)) |
(cons (reverse rts) (cdr inline-info)) |