0.7.1.27:
authorWilliam Harold Newman <william.newman@airmail.net>
Fri, 1 Mar 2002 22:51:27 +0000 (22:51 +0000)
committerWilliam Harold Newman <william.newman@airmail.net>
Fri, 1 Mar 2002 22:51:27 +0000 (22:51 +0000)
merged the first 2 (of 3) patches from CSR "x86, format, types"
patches (sbcl-devel 2002-02-27)

src/code/debug.lisp
src/code/late-format.lisp
src/code/ntrace.lisp
src/compiler/ir1tran.lisp
src/compiler/x86/float.lisp
version.lisp-expr

index fc9c8b2..b969a58 100644 (file)
@@ -722,7 +722,7 @@ reset to ~S."
           (dolist (restart restarts)
             (let ((name (restart-name restart)))
               (cond ((member name names-used)
-                     (format s "~& ~2D: ~@VT~A~%" count max-name-len restart))
+                     (format s "~& ~2D: ~V@T~A~%" count max-name-len restart))
                     (t
                      (format s "~& ~2D: [~VA] ~A~%"
                              count (- max-name-len 3) name restart)
index 3aefd3d..d84c503 100644 (file)
                        :complaint "String ended before directive was found."
                        :control-string string
                        :offset start)
-                (schar string posn))))
+                (schar string posn)))
+          (check-ordering ()
+            (when (or colonp atsignp)
+              (error 'format-error
+                     :complaint "parameters found after #\\: or #\\@ modifier"
+                     :control-string string
+                     :offset posn))))
       (loop
        (let ((char (get-char)))
          (cond ((or (char<= #\0 char #\9) (char= char #\+) (char= char #\-))
+                (check-ordering)
                 (multiple-value-bind (param new-posn)
                     (parse-integer string :start posn :junk-allowed t)
                   (push (cons posn param) params)
@@ -87,7 +94,9 @@
                      (decf posn))
                     (t
                      (return)))))
-               ((or (char= char #\v) (char= char #\V))
+               ((or (char= char #\v)
+                    (char= char #\V))
+                (check-ordering)
                 (push (cons posn :arg) params)
                 (incf posn)
                 (case (get-char)
                   (t
                    (return))))
                ((char= char #\#)
+                (check-ordering)
                 (push (cons posn :remaining) params)
                 (incf posn)
                 (case (get-char)
                   (t
                    (return))))
                ((char= char #\')
+                (check-ordering)
                 (incf posn)
                 (push (cons posn (get-char)) params)
                 (incf posn)
                 (unless (char= (get-char) #\,)
                   (decf posn)))
                ((char= char #\,)
+                (check-ordering)
                 (push (cons posn nil) params))
                ((char= char #\:)
                 (if colonp
                     (setf atsignp t)))
                (t
                 (when (char= (schar string (1- posn)) #\,)
+                  (check-ordering)
                   (push (cons (1- posn) nil) params))
                 (return))))
        (incf posn))
index 62979c3..d666736 100644 (file)
     (dolist (entry *traced-entries*)
       (when (cdr entry) (incf depth)))
     (format t
-           "~@V,0T~W: "
+           "~V,0@T~W: "
            (+ (mod (* depth *trace-indentation-step*)
                    (- *max-trace-indentation* *trace-indentation-step*))
               *trace-indentation-step*)
index 7d7b4be..74832d6 100644 (file)
   (unless (symbolp name)
     (compiler-error "The lambda variable ~S is not a symbol." name))
   (when (member name names-so-far :test #'eq)
-    (compiler-error "The variable ~S occurs more than once in the lambda-list."
+    (compiler-error "The variable ~S occurs more than once in the lambda list."
                    name))
   (let ((kind (info :variable :kind name)))
     (when (or (keywordp name) (eq kind :constant))
                   (eq (arg-info-kind info) :keyword)
                   (eq (arg-info-key info) key))
          (compiler-error
-          "The keyword ~S appears more than once in the lambda-list."
+          "The keyword ~S appears more than once in the lambda list."
           key))))
     key))
 
index a091ef6..f935c1f 100644 (file)
   ;;   Perhaps this is OK because of the #!+LONG-FLOAT wrapped around
   ;;   an enormous PROGN above. Still, it would be probably be good to
   ;;   add some code to warn about redefining VOPs.
-  ;; FIXME 2: See comments on DEFINE-VOP FLOG1P :GUARD above.
-  (:guard #!+pentium nil #!-pentium t)
   (:note "inline log1p function")
   (:ignore temp)
   (:generator 5
   (:arg-types long-float)
   (:result-types long-float)
   (:policy :fast-safe)
-  ;; FIXME: See comments on DEFINE-VOP FLOG1P :GUARD above.
-  (:guard #!+pentium t #!-pentium)
+  (:guard (member :pentium-style-fyl2xp1 *backend-subfeatures*))
   (:note "inline log1p function")
   (:generator 5
      (sc-case x
index 2b6ff5c..0a08b94 100644 (file)
@@ -18,4 +18,4 @@
 ;;; for internal versions, especially for internal versions off the
 ;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
 
-"0.7.1.26"
+"0.7.1.27"