- fixed bug in inline-lists: wasn't setting multiply-referenced flag

on p to account for the procedure? check at optimize-level 2.
    cpletrec.ss
- fixed bug in check-prelex-flags: was hardwiring $cpcheck-prelex-flags
  "after" argument to 'uncprep rather than passing along its argument.
    compile.ss
- commented out local definition of sorry! so that problems detected
  by $cpcheck-prelex-flags actually result in a raised exception.
    cprep.ss

original commit: 674e2180d6893000446590038dcacf0ef661e564
This commit is contained in:
dyb 2019-02-27 16:05:29 -08:00
parent 98dc3d137d
commit 70c9ce65fb
4 changed files with 12 additions and 3 deletions

9
LOG
View File

@ -1137,3 +1137,12 @@
generated config.h. Instead removed InstallPrefix entirely so
it isn't an attractive hazzard.
configure, makefiles/Mf-install.in
- fixed bug in inline-lists: wasn't setting multiply-referenced flag
on p to account for the procedure? check at optimize-level 2.
cpletrec.ss
- fixed bug in check-prelex-flags: was hardwiring $cpcheck-prelex-flags
"after" argument to 'uncprep rather than passing along its argument.
compile.ss
- commented out local definition of sorry! so that problems detected
by $cpcheck-prelex-flags actually result in a raised exception.
cprep.ss

View File

@ -548,7 +548,7 @@
(define check-prelex-flags
(lambda (x after)
(when ($enable-check-prelex-flags)
($pass-time 'cpcheck-prelex-flags (lambda () (do-trace $cpcheck-prelex-flags x 'uncprep))))))
($pass-time 'cpcheck-prelex-flags (lambda () (do-trace $cpcheck-prelex-flags x after))))))
(define compile-file-help
(lambda (op hostop wpoop machine sfd do-read outfn)

View File

@ -3610,7 +3610,7 @@
(if (null? ls*)
(and (apply = (map length e**))
(or (not all-quoted?) (fx<= (length (car e**)) 4))
(let ([p (cp0-make-temp (fx> (length (car e**)) 1))]
(let ([p (cp0-make-temp (or (fx= lvl 2) (fx> (length (car e**)) 1)))]
[temp** (map (lambda (e*)
(map (lambda (x) (cp0-make-temp #f)) e*))
e**)])

View File

@ -257,7 +257,7 @@
(define-pass cpcheck-prelex-flags : Lsrc (ir) -> Lsrc ()
(definitions
(define sorry!
#;(define sorry!
(lambda (who str . arg*)
(apply fprintf (console-output-port) str arg*)
(newline (console-output-port))))