I am now testing yesterday gcl-cvs.  I have set up safety to 3.  I hit
two problems.  One is segfault -- it went away when I tried to debug
it:


)compile "RADCAT.spad"

Segmentation violation: c stack ok:signalling error
   >> System error:
   Condition in MAKE-INPUT-FILENAME [or a callee]: INTERNAL-SIMPLE-ERROR: 
Caught fatal error [memory may be damaged]: Segmentation violation.


I am somewhat worried: this is a first time I see a segfault in safety 3
build. 

The second problem is that the function |ICformat| apparently is
miscompiled, Lisp code differs only trivially from code in 2.6.8
build.  In particular at the beggining we have:

(DEFUN |ICformat| (|u|)
  (PROG (|v| |l'| |l1| |l|)
    (RETURN
      (SEQ (COND
             ((ATOM |u|) |u|)
             ((AND (PAIRP |u|) (EQ (QCAR |u|) '|has|))
              (|compHasFormat| |u|))
             ((OR (AND (PAIRP |u|) (EQ (QCAR |u|) 'AND)
                       (PROGN (SPADLET |l| (QCDR |u|)) 'T))
                  (AND (PAIRP |u|) (EQ (QCAR |u|) '|and|)
                       (PROGN (SPADLET |l| (QCDR |u|)) 'T)))
              (SPADLET |l|
                       (REMDUP (PROG (#1=#:G7955)


however, the call:

(|ICformat| '(|and| |foo| |bar| |foo|))

in 2.7.0 falls to the end and signals error, while in 2.6.8 compiled
Axiom it works OK.  It looks that Steve had similar problem (but later
wrote that it works OK).

One extra remark: the extra PROG which I saw previously seem to be
gone -- I am not sure if it is safety 3 or something in gcl changed.
But now I see:

(DEFUN |ALIST;dictionary;$;1| ($) (SPADCALL NIL (QREFELT $ 11)))

(the same as in other dialects), while earlier 2.7 gave me:

(DEFUN |ALIST;dictionary;$;1| ($)
  (PROG () (RETURN (SPADCALL NIL (QREFELT $ 11)))))

-- 
                              Waldek Hebisch
[EMAIL PROTECTED] 


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to