/[gcl]/gcl/cmpnew/gcl_cmpmulti.lsp
ViewVC logotype

Diff of /gcl/cmpnew/gcl_cmpmulti.lsp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by camm, Tue Dec 21 04:49:47 2004 UTC revision 1.9 by camm, Mon Dec 27 22:15:45 2004 UTC
# Line 207  Line 207 
207    
208  (defun form-to-values-type (form)  (defun form-to-values-type (form)
209    (if (and (consp form) (eq (car form) 'values)) form    (if (and (consp form) (eq (car form) 'values)) form
210      (let ((frt (fun-ret-type form)))      (let ((frt (info-type (cadr (c1symbol-fun (car form) (cdr form))))))
211        (if (and (consp frt) (eq (car frt) 'values)) frt        (if (and (consp frt) (eq (car frt) 'values)) frt
212          (list 'values frt)))))          (list 'values frt)))))
213    
# Line 220  Line 220 
220          ((or (null vars) (null mv-form)) nil)          ((or (null vars) (null mv-form)) nil)
221          (t          (t
222           (let ((var (car vars)))           (let ((var (car vars)))
223             (let ((outer (and (symbolp (car mv-form)) (cdr (assoc (car mv-form) *decls*))))             (let ((outer (and (not expn) (symbolp (car mv-form)) (cdr (assoc (car mv-form) *decls*))))
224                   (inf (t-to-nil (var-is-inferred var body)))                   (inf (t-to-nil (var-is-inferred var body)))
225                   (exp (and (consp (car mv-form)) (eq (caar mv-form) 'the) (cadar mv-form)))                   (exp (and (not expn) (consp (car mv-form)) (eq (caar mv-form) 'the) (cadar mv-form)))
226                   (typ (and expn (t-to-nil (car mv-form))))                   (typ (and expn (t-to-nil (car mv-form))))
227                   (frt (and (consp (car mv-form))                   (frt (and (not expn) (consp (car mv-form))
228                             (symbolp (caar mv-form))                             (symbolp (caar mv-form))
229                             (t-to-nil (coerce-to-one-value (fun-ret-type (car mv-form))))))                             (t-to-nil
230                                (coerce-to-one-value
231                                 (info-type
232                                  (cadr
233                                   (c1symbol-fun (caar mv-form) (cdar mv-form))))))))
234                   (dec (var-is-declared var body))                   (dec (var-is-declared var body))
235                   (chb (var-is-changed var body)))                   (chb (var-is-changed var body)))
236               (let ((type (or exp typ frt inf outer))               (let ((type (or exp typ frt inf outer))

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26