mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-01 15:20:36 -08:00
Fixed processing of FTYPE declarations/proclamations
This commit is contained in:
parent
faa7989599
commit
fed2994f14
1 changed files with 14 additions and 13 deletions
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue