From: Christophe R. <cr...@us...> - 2004-05-20 15:56:23
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6206 Modified Files: BUGS NEWS version.lisp-expr Log Message: 0.8.10.41: Fix BUGS 280 and 312: no more bogus duplicate warning definitions. ... it appears that one cannot distinguish between XEPs for the various different purposes; ... and I don't propose to try to make it possible... ... so alternative strategy: make DEFUN check for it. Less hi-tech, but also less broken. ... alter %COMPILER-DEFUN again to distinguish between :COMPILE-TOPLEVEL uses and non-:CT. ... means another change in fasl file version. ... more test cases. Index: BUGS =================================================================== RCS file: /cvsroot/sbcl/sbcl/BUGS,v retrieving revision 1.387 retrieving revision 1.388 diff -u -d -r1.387 -r1.388 --- BUGS 20 May 2004 14:47:54 -0000 1.387 +++ BUGS 20 May 2004 15:55:35 -0000 1.388 @@ -1086,39 +1086,6 @@ (see also bug 117) -280: bogus WARNING about duplicate function definition - In sbcl-0.8.3 and sbcl-0.8.1.47, if BS.MIN is defined inline, - e.g. by - (declaim (inline bs.min)) - (defun bs.min (bases) nil) - before compiling the file below, the compiler warns - Duplicate definition for BS.MIN found in one static - unit (usually a file). - when compiling - (declaim (special *minus* *plus* *stagnant*)) - (defun b.*.min (&optional (x () xp) (y () yp) &rest rest) - (bs.min avec)) - (define-compiler-macro b.*.min (&rest rest) - `(bs.min ,@rest)) - (defun afish-d-rbd (pd) - (if *stagnant* - (b.*.min (foo-d-rbd *stagnant*)) - (multiple-value-bind (reduce-fn initial-value) - (etypecase pd - (list (values #'bs.min 0)) - (vector (values #'bs.min *plus*))) - (let ((cv-ks (cv (kpd.ks pd)))) - (funcall reduce-fn d-rbds))))) - (defun bfish-d-rbd (pd) - (if *stagnant* - (b.*.min (foo-d-rbd *stagnant*)) - (multiple-value-bind (reduce-fn initial-value) - (etypecase pd - (list (values #'bs.min *minus*)) - (vector (values #'bs.min 0))) - (let ((cv-ks (cv (kpd.ks pd)))) - (funcall reduce-fn d-rbds))))) - 281: COMPUTE-EFFECTIVE-METHOD error signalling. (slightly obscured by a non-0 default value for SB-PCL::*MAX-EMF-PRECOMPUTE-METHODS*) @@ -1330,18 +1297,6 @@ spurious errors should two threads attempt to tokenise at the same time. -312: - (reported by Jon Dyte) - SBCL issues a warning "Duplicate definition of FOO" compiling - - (declaim (inline foo)) - (defun foo (x) - (1+ x)) - (defun bar (y) - (list (foo y) (if (> y 1) (funcall (if (> y 0) #'foo #'identity) y)))) - - (probably related to the bug 280.) - 314: "LOOP :INITIALLY clauses and scope of initializers" reported by Bruno Haible sbcl-devel "various SBCL bugs" from CLISP test suite, originally by Thomas F. Burdick. Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.545 retrieving revision 1.546 diff -u -d -r1.545 -r1.546 --- NEWS 20 May 2004 14:47:54 -0000 1.545 +++ NEWS 20 May 2004 15:55:39 -0000 1.546 @@ -2448,6 +2448,9 @@ * fixed bug: as reported by Juan Ripoll on cmucl-imp, MULTIPLE-VALUE-BIND should be able to lexically bind lambda list keywords. + * fixed bugs 280 and 312: the checking for multiple definitions in a + file is less likely to become confused by uses of inline + functions. * optimization: rearranged the expansion of various defining macros so that each expands into only one top-level form in a :LOAD-TOPLEVEL context; this appears to decrease fasl sizes by Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.1609 retrieving revision 1.1610 diff -u -d -r1.1609 -r1.1610 --- version.lisp-expr 20 May 2004 14:51:19 -0000 1.1609 +++ version.lisp-expr 20 May 2004 15:55:41 -0000 1.1610 @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.8.10.40" +"0.8.10.41" |