ECL accepts FTYPE proclamations for SETF-functions.

This commit is contained in:
Juan Jose Garcia Ripoll 2010-02-08 11:47:30 +01:00
parent 5c25fc1f5f
commit 9d1b7c8f7d
3 changed files with 8 additions and 6 deletions

View file

@ -37,6 +37,8 @@ ECL 10.2.1:
in B, then ECL signaled an error in the compiled version of A even after
this one had required B.lsp.
- ECL accepts FTYPE proclamations for SETF-functions.
* Visible changes:
- Significant speedup in access to hash tables of up to 30% by writing

View file

@ -95,7 +95,7 @@
(t (type-filter (car return-types)))))
(defun add-function-proclamation (fname decl)
(if (symbolp fname)
(if (si:valid-function-name-p fname)
(let* ((arg-types '*)
(return-types '*)
(l decl))

View file

@ -44,7 +44,7 @@
(t (c-types:type-filter (car return-types)))))
(defun add-function-proclamation (fname decl)
(if (symbolp fname)
(if (si:valid-function-name-p fname)
(let* ((arg-types '*)
(return-types '*)
(l decl))
@ -59,11 +59,11 @@
(t (warn "The function proclamation ~s ~s is not valid."
fname decl)))
(if (eq arg-types '*)
(sys:rem-sysprop fname 'PROCLAIMED-ARG-TYPES)
(sys:put-sysprop fname 'PROCLAIMED-ARG-TYPES arg-types))
(rem-sysprop fname 'PROCLAIMED-ARG-TYPES)
(put-sysprop fname 'PROCLAIMED-ARG-TYPES arg-types))
(if (eq return-types '*)
(sys:rem-sysprop fname 'PROCLAIMED-RETURN-TYPE)
(sys:put-sysprop fname 'PROCLAIMED-RETURN-TYPE return-types)))
(rem-sysprop fname 'PROCLAIMED-RETURN-TYPE)
(put-sysprop fname 'PROCLAIMED-RETURN-TYPE return-types)))
(warn "The function proclamation ~s ~s is not valid." fname decl)))
(defun add-function-declaration (fname arg-types return-types env)