gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Re: [Maxima] Bugs in gcl cause maxima build failures


From: James Amundson
Subject: [Gcl-devel] Re: [Maxima] Bugs in gcl cause maxima build failures
Date: 02 May 2002 21:27:45 -0500

On Thu, 2002-05-02 at 08:49, Raymond Toy wrote:
> >>>>> "James" == James Amundson <address@hidden> writes:
> 
>     James> Bug #1:
> 
>     James> GCL bails out with an error when trying to compile f2cl-lib.lisp 
> in the
>     James> src/numerical directory. The simplest way to see the bug is simply 
> to
>     James> run gcl and type
>     James>    (compile-file "f2cl-lib.lisp")
> 
>     James> Here is what happens:
> 
>     James> ---------------------------------------
>     >> (compile-file "f2cl-lib.lisp")
> 
>     James> Compiling f2cl-lib.lisp.
>     James> ; (DEFUN COL-MAJOR-INDEX ...) is being compiled.
>     James> ;; The variable HI is undefined.
>     James> ;; The compiler will assume this variable is a global.
>     James> ;; The variable LO is undefined.
>     James> ;; The compiler will assume this variable is a global.
> 
> Could these errors be caused by a non-functional destructuring-bind?
> HI and LO are defined there and are used.
> 
> Perhaps the numerical stuff in maxima.system should be moved later,
> after ellipt.lisp is loaded, which contains destructuring-bind for
> gcl?
> 
> Alternatively, perhaps we should remove destructuring-bind from
> ellipt.lisp, stuff it in, say, gcl-hacks.lisp, update/conditionalize
> maxima.system appropriately, and load gcl-hacks early.  Maybe include
> an ANSI loop function as well in gcl-hacks?  I think I have one.

I think this is the right approach. Actually, I think we should have a
gcl-hacks module.

An aside: The current cvs gcl has destructuring bind, but it's in the
"USER" package!

>     James> ; (DEFUN IFIX ...) is being compiled.
>     James> ;; Warning: INT (in lisp package) is called as a function--not yet
>     James> defined
>     James> ; (DEFUN IDFIX ...) is being compiled.
>     James> ;; Warning: INT (in lisp package) is called as a function--not yet
>     James> defined
>     James> ; (DEFUN MAX1 ...) is being compiled.
>     James> ;; Warning: INT (in lisp package) is called as a function--not yet
>     James> defined
> 
> This looks wrong since INT is defined before these functions.
> 
>     James> Warning: The declaration specifier INTEGER4 is unknown.
> 
> This seems wrong.  gcl doesn't understand deftype's maybe?
> 
>     James> ; (DEFUN PROCESS-IMPLIED-DO ...) is being compiled.
>     James> ;; The variable START is undefined.
>     James> ;; The compiler will assume this variable is a global.
>     James> ;; The variable END is undefined.
>     James> ;; The compiler will assume this variable is a global.
>     James> ;; The variable &OPTIONAL is undefined.
>     James> ;; The compiler will assume this variable is a global.
>     James> ;; The variable STEP is undefined.
>     James> ;; The compiler will assume this variable is a global.
>     James> ;; The variable INDEX-VAR is undefined.
>     James> ;; The compiler will assume this variable is a global.
>     James> ;; The variable DATA-VARS is undefined.
>     James> ;; The compiler will assume this variable is a global.
> 
> Broken destructuring-bind?
> 
>     James> ; (DEFUN EXECUTE-FORMAT ...) is being compiled.
>     James> ;; The variable WHILE is undefined.
>     James> ;; The compiler will assume this variable is a global.
>     James> ;; The variable DO is undefined.
>     James> ;; The compiler will assume this variable is a global.
> 
> Missing ANSI loop?
> 
>     James> ; (DEFUN D1MACH ...) is being compiled.
>     James> ;; The variable LEAST-POSITIVE-NORMALIZED-DOUBLE-FLOAT is 
> undefined.
>     James> ;; The compiler will assume this variable is a global.
>     James> ; (DEFUN R1MACH ...) is being compiled.
>     James> ;; The variable LEAST-POSITIVE-NORMALIZED-SINGLE-FLOAT is 
> undefined.
>     James> ;; The compiler will assume this variable is a global.
>     James> End of Pass 1.  
> 
> I guess gcl is missing these.  Could use
> least-positive-{double,single}-float for these.
> 
>     James> ; (DEFUN LUN->STREAM ...) is being compiled.
>     James> ;; Warning:  LUN->STREAM is proclaimed but not in 
> *inline-functions* 
> 
> No idea what this means.  Maybe the declaim for lun->stream can be
> removed?  Not sure why that's there anymore.

Actually, I already know the proclaims/declaims are screwed up. One more
thing that should be fixed.

--Jim




reply via email to

[Prev in Thread] Current Thread [Next in Thread]