diff --git a/host/chez/build.ss b/host/chez/build.ss index ca57ed1..f2d68fc 100644 --- a/host/chez/build.ss +++ b/host/chez/build.ss @@ -184,10 +184,15 @@ (bfs (append (or (hashtable-ref edges fq #f) '()) (cdr work)))))))) (let ((kept? (lambda (r) (or (vector-ref r 0) (hashtable-ref reached (vector-ref r 1) #f)))) (refs-any (lambda (r set) (ormap (lambda (b) (and (member b (vector-ref r 2)) #t)) set))) - (bail #f) (needs-compiler #f)) + (bail #f) (bail-why '()) (needs-compiler #f)) (for-each (lambda (r) (when (kept? r) - (when (refs-any r dce-bail-refs) (set! bail #t)) + (for-each (lambda (b) + (when (member b (vector-ref r 2)) + (set! bail #t) + (when (< (length bail-why) 6) + (set! bail-why (cons (cons (or (vector-ref r 1) "