Upstream helped identify the problem and solution:

  http://lists.gnu.org/archive/html/scm-discuss/2017-10/msg00009.html

I've tested and the cherry-picked patch fixes the test problem on a 32-bit x86 virtual machine; I have a 5f2-2 with the patch in mentors.d.n.

--bryan

On Sun, 3 Sep 2017, Adrian Bunk wrote:

Source: scm
Version: 5f2-1
Severity: serious

https://buildd.debian.org/status/package.php?p=scm&suite=sid

...
(float-print-test #t)  ==> #t
(mult-float-print-test #t)  ==> #t
(mult-float-print-test #t)  ==> #t
(mult-float-print-test #t)  ==> #t
(mult-float-print-test #t)  ==> #t
(mult-float-print-test #t)  ==> #t
(#<CLOSURE float-rw-range-test "r4rstest.scm": () (#@define ((success #t))  (do ((cnt -323 (+ 1 cnt))) ((> cnt 
308) success) (let* ((estr (string-append "1.e" (number->string cnt))) (num (string->number estr)) (str 
(number->string num))) (cond ((or (>= (string-length str) 10) (not (equal? (string->number str) num))) (set! success #f) 
(for-each write (list estr num str (string->number str))))))))>)  ==>
;ERROR: "r4rstest.scm": round-quotient: Wrong type in arg1 (0 . 0)
; in expression: (#@number->string #@num)
; in scope:
;   num
;   estr
;   (cnt . #@do)
;   (success . #@define)
;   ()  procedure float-rw-range-test
;   (log2 slow-frexp float-precision float-print-test mult-float-print-test 
float-rw-range-test . #@define)
;   (f0.0 f0.5 f1.0 f2.0 . #@let)
;   ()  procedure test-inexact-printing
; defined by load: "r4rstest.scm"

;STACK TRACE
1; (#@let* ((estr (#@string-append "1.e" (#@number->string #@cnt) ...
2; (#@do ((cnt -323 (#@+ 1 #@cnt))) ((#@> #@cnt 308) success)  (# ...
3; (#@let ((res (#@if (#@procedure? #@0+1) (#@apply #@0+1 #@0-2)  ...
4; (#@let ((have-inexacts? (#@and (#@string->number "0.0") (#@ine ...
...

; program args: ("./scm" "-fr4rstest.scm" "-e(test-sc4)(test-cont)(test-delay)(gc)" "-e" 
"(or (null? errs) (quit 1))")
Makefile:555: recipe for target 'check' failed
make[1]: *** [check] Error 1


Reply via email to