On Mon, Jun 28, 2010 at 2:46 PM, Juan Jose Garcia-Ripoll <juanjose.garciarip...@googlemail.com> wrote: > * Proclamations are also used to deduce the type of a function's arguments > and create argument type checks. >
Hi Juanjo, The function arguments checking seems to have a bug. The attached testcase (distilled from OpenAxiom) produces the following warnings: > (compile-file "pbug.lisp") ;;; Loading #P"/usr/local/lib/ecl-10.4.2/cmp.fas" ;;; ;;; Compiling pbug.lisp. ;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0 ;;; ;;; Compiling (DEFUN BEGIN-DOLLAR-P ...). ;;; Note: ;;; in file pbug.lisp, position 55 ;;; at (DEFUN BEGIN-DOLLAR-P ...) ;;; In function BEGIN-DOLLAR-P, checking types of arguments X. ;;; Note: ;;; in file pbug.lisp, position 55 ;;; at (DEFUN BEGIN-DOLLAR-P ...) ;;; Unknown type (T). Assuming it is T. ;;; Compiling (DEFUN COMP-FLUIDIZE ...). ;;; Warning: ;;; in file pbug.lisp, position 123 ;;; at (DEFUN COMP-FLUIDIZE ...) ;;; ! Too few arguments for proclaimed function BEGIN-DOLLAR-P ;;; End of Pass 1. ;;; Note: ;;; Refusing to propagate FUNCALL ;;; Note: ;;; Refusing to propagate C-INLINE ;;; Warning: ;;; ! Too few arguments for proclaimed function BEGIN-DOLLAR-P 1. The argument-type in the function proclamation is simple enough that ECL should not be confused. 2. ECL pretends that there are too few arguments for proclaimed BEGIN-DOLLAR-P. Yet, the function was proclaimed to be of arity 1, and there is exactly one argument supplied in the call. What are the notes about propagating FUNCALL and C-INLINE about? -- Gaby
pbug.lisp
Description: Binary data
------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list