>>>>> "James" == James Amundson <amundson@users.sourceforge.net> 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.
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.
Ray