[Top][All Lists]

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

Re: [Gcl-devel] Compiling GCL

From: Camm Maguire
Subject: Re: [Gcl-devel] Compiling GCL
Date: Tue, 05 Nov 2013 10:37:22 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux)

Greetings!  OK, yor tests run with the following patch.  For now, don't
use safe mode, which is *much* slower and less tested.  There is a gcl
safe mode bug you have uncovered which we can later trace down, but your
code is very complicated and it needs to be isolated.  Also, use nil in
place of :unspecific for undefined types as with ecl.

There are some condition related failures reported by the tests -- I'm
happy to fix these, but please, boil it down to a standard lisp form or
two which is not complying with the spec.  This way we can both work
much faster.

I did a little looking re: the safe mode failure, and it involves this
form in pathname.lisp:

            (setf components (remove-if #'(lambda (x) (member x '("" ".") :test 

When I compile this separately in safe mode I cannot trigger the

Take care,
index de9f46b..654ec1e 100644
--- a/test/script-support.lisp
+++ b/test/script-support.lisp
@@ -33,9 +33,9 @@ Some constraints:
 (in-package :asdf-test)
-(declaim (optimize (speed 2) (safety 3) #-(or allegro gcl genera) (debug 3)
+(declaim (optimize (speed 2) (safety 0) #-(or allegro gcl genera) (debug 3)
                    #+(or cmu scl) (c::brevity 2)))
-(proclaim '(optimize (speed 2) (safety 3) #-(or allegro gcl genera) (debug 3)
+(proclaim '(optimize (speed 2) (safety 0) #-(or allegro gcl genera) (debug 3)
                      #+(or cmu scl) (c::brevity 2)))
 (defvar *trace-symbols*
diff --git a/test/test-run-program.script b/test/test-run-program.script
index 48064fd..9762b40 100644
--- a/test/test-run-program.script
+++ b/test/test-run-program.script
@@ -1,5 +1,5 @@
 ;; -*- Lisp -*-
-(declaim (optimize (debug 3) (safety 3)))
+(declaim (optimize (debug 3) (safety 0)))
 ;; On Windows, normalize away CRLF into jut the unixy LF.
 (defun dewindowize (x)
diff --git a/uiop/common-lisp.lisp b/uiop/common-lisp.lisp
index 96a17f3..64c1c40 100644
--- a/uiop/common-lisp.lisp
+++ b/uiop/common-lisp.lisp
@@ -172,7 +172,7 @@ FROB them, that is to say, remove them if FROB is NIL,
 replace by FROB if FROB is a STRING, or if FROB is a FUNCTION,
 call FROB with the match and a function that emits a string in the output.
 Return a string made of the parts not omitted or emitted by FROB."
-    (declare (optimize (speed 0) (safety 3) (debug 3)))
+    (declare (optimize (speed 0) (safety 0) (debug 3)))
     (let ((length (length string)) (stream nil))
       (labels ((emit-string (x &optional (start 0) (end (length x)))
                  (when (< start end)
diff --git a/uiop/pathname.lisp b/uiop/pathname.lisp
index 062b33b..6bc6a9b 100644
--- a/uiop/pathname.lisp
+++ b/uiop/pathname.lisp
@@ -102,8 +102,8 @@ by the underlying implementation's MAKE-PATHNAME and other 
   ;; See CLHS make-pathname and
   ;; This will be :unspecific if supported, or NIL if not.
   (defparameter *unspecific-pathname-type*
-    #+(or abcl allegro clozure cmu gcl genera lispworks mkcl sbcl scl xcl) 
-    #+(or clisp ecl #|These haven't been tested:|# cormanlisp mcl) nil
+    #+(or abcl allegro clozure cmu genera lispworks mkcl sbcl scl xcl) 
+    #+(or gcl clisp ecl #|These haven't been tested:|# cormanlisp mcl) nil
     "Unspecific type component to use with the underlying implementation's 
   (defun make-pathname* (&rest keys &key (directory nil #+gcl2.6 directoryp)
Camm Maguire                                        address@hidden
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

reply via email to

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