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

eclipse problem




  Hello.  I think that we're the last site still running the Scope system - 
the Pixar Image Computer connected to a symbolics 3670.  We're trying to upgrade
the Eclipse pseudo lisp compiler to run under 8.1, and are having a bit of
difficulty.  

  Eclipse takes a pseudo lisp language and compiles it to pixar executables
and a lisp stub that invokes the pixar code.  The main form that we use
is   (defun-pixar ...).  The following code compiled (and worked) correctly
under gen 8.0, and fails under 8.1.


(defun-pixar interleave-inside-pixar (in-pw out-pw in-array o-array band nbands qw
					    &optional (strt 0))
  (declare (fixnum in-pw out-pw band nbands qw strt)
	   ((fixnum :pixel t :dimensions 1) in-array)
	   ((fixnum :pixel t :dimensions 1) o-array))
   (loop with iwidth = (pwwidth in-pw)
	with owidth = (pwwidth out-pw)
	for y from 0 below (pwheight in-pw) do
    ...
    (loop for x1 from strt below (+ strt qw)
	  for x2 from ...
	  for x3 from ...
	  for x4 from ... 
	  for xi from band by nbands do
     (setf (aref o-array xi) (make-pixel (red-component (aref in-array x1))
				 	 (red-component (aref in-array x2))	
					 (red-component (aref in-array x3))
					 (red-component (aref in-array x4)))))
    ...))


When the form  (defun-pixar ...) is compiled, we get the following error:


Error> While compiling (SETF (AREF O-ARRAY XI)
                              (MAKE-PIXEL (RED-COMPONENT (AREF IN-ARRAY X1))
                               (RED-COMPONENT (AREF IN-ARRAY X2))
                               (RED-COMPONENT (AREF IN-ARRAY X3))
                               (RED-COMPONENT (AREF IN-ARRAY X4)))):

Unknown declaration keyword VARIABLE-INLINABLE
Error> While compiling (SETF (AREF O-ARRAY XI)
                              (MAKE-PIXEL (RED-COMPONENT (AREF IN-ARRAY X1))
                               (RED-COMPONENT (AREF IN-ARRAY X2))
                               (RED-COMPONENT (AREF IN-ARRAY X3))
                               (RED-COMPONENT (AREF IN-ARRAY X4)))):

COMPILER:VARIABLE-INLINABLE is not a known type.
Error> While compiling (SETF (AREF O-ARRAY XI)
                              (MAKE-PIXEL (RED-COMPONENT (AREF IN-ARRAY X1))
                               (RED-COMPONENT (AREF IN-ARRAY X2))
                               (RED-COMPONENT (AREF IN-ARRAY X3))
                               (RED-COMPONENT (AREF IN-ARRAY X4)))):

COMPILER:VARIABLE-INLINABLE is not a known type.



The form itself macro-expands into:

(LET* ((#:G19432 O-ARRAY)
       (#:G19433 XI))
  (DECLARE (COMPILER:VARIABLE-INLINABLE #:G19432 #:G19433))
  (ZL:ASET (VALUES (MAKE-PIXEL (COMPONENT (VALUES (AREF IN-ARRAY X1)) 0)
                    (COMPONENT (VALUES (AREF IN-ARRAY X2)) 0)
                    (COMPONENT (VALUES (AREF IN-ARRAY X3)) 0)
                    (COMPONENT (VALUES (AREF IN-ARRAY X4)) 0)))
           #:G19432
           #:G19433))

Evidently the problem is in the (declare ..) in the macro expansion.  Is
this something that has changed from 8.0 to 8.1??  Is there a simple way
to make compiler:variable-inlinable a known type??  I've tried to locate
the defsetf call without success.  Any hints on where to find it??  The
get-setf-method that I tried requires the appropriate environment and I
can't figure out how to stuff that in at compile time (in fact, I'm not
even convinced this is a correct way to proceed).

I'd appreciate any help anyone can give.

Thanks,
Steve Willis