From fed2994f14136cc53fcd0d94dfbfdff7fe412c42 Mon Sep 17 00:00:00 2001 From: jjgarcia Date: Thu, 7 Aug 2003 12:24:03 +0000 Subject: [PATCH] Fixed processing of FTYPE declarations/proclamations --- src/cmp/cmpenv.lsp | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/cmp/cmpenv.lsp b/src/cmp/cmpenv.lsp index 3daa40d63..ac9fa9bc4 100644 --- a/src/cmp/cmpenv.lsp +++ b/src/cmp/cmpenv.lsp @@ -224,13 +224,13 @@ (proclaim-var (second decl) (cddr decl)) (warn "The type declaration ~s is illegal." decl))) (FTYPE - (cond ((and (consp (cdr decl)) - (consp (second decl)) - (eq (caadr decl) 'FUNCTION)) - (dolist (v (cddr decl)) - (add-function-proclamation v (cdr (second decl))) - )) - (t (cmpwarn "Bad function proclamation ~a" decl)))) + (let (ftype) + (cond ((and (consp (cdr decl)) + (consp (setf ftype (second decl))) + (eq (first ftype) 'FUNCTION)) + (dolist (v (cddr decl)) + (add-function-proclamation v (rest ftype)))) + (t (cmpwarn "Bad function proclamation ~a" decl))))) (INLINE (dolist (fun (cdr decl)) (if (symbolp fun) @@ -403,12 +403,13 @@ (t (warn "The OPTIMIZE quality ~s is unknown." (car x))))))) (FTYPE - (cond ((and (consp (cdr decl)) - (consp (second decl)) - (eq (caadr decl) 'FUNCTION)) - (dolist (v (cddr decl)) - (add-function-declaration v (cadr (second decl)) (caddr (second decl))))) - (t (cmpwarn "The function declaration ~a is illegal" decl)))) + (let (ftype) + (cond ((and (consp (cdr decl)) + (consp (setq ftype (second decl))) + (eq (first ftype) 'FUNCTION)) + (dolist (v (cddr decl)) + (add-function-declaration v (second ftype) (cddr ftype)))) + (t (cmpwarn "The function declaration ~a is illegal" decl))))) (INLINE (push decl dl) (dolist (fun (cdr decl))