From: Chris Hanson Date: Wed, 29 Jul 1987 02:16:52 +0000 (+0000) Subject: When walking predicate nodes, must be able to handle case where either X-Git-Tag: 20090517-FFI~13207 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=71ca9ffa6d65aca48807025208f8f9bad20e073a;p=mit-scheme.git When walking predicate nodes, must be able to handle case where either the consequent or alternative is nonexistent. This is because we must walk over incomplete graphs when generating code for operands. --- diff --git a/v7/src/compiler/rtlgen/rtlgen.scm b/v7/src/compiler/rtlgen/rtlgen.scm index a4744a34a..8a8731605 100644 --- a/v7/src/compiler/rtlgen/rtlgen.scm +++ b/v7/src/compiler/rtlgen/rtlgen.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rtlgen.scm,v 1.15 1987/05/21 15:05:03 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rtlgen.scm,v 1.16 1987/07/29 02:16:52 cph Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -125,8 +125,10 @@ MIT in each case. |# (lambda (node subproblem?) (pcfg*scfg->scfg! (generator node) - (generate/node (pnode-consequent node) subproblem?) - (generate/node (pnode-alternative node) subproblem?)))) + (and (pnode-consequent node) + (generate/node (pnode-consequent node) subproblem?)) + (and (pnode-alternative node) + (generate/node (pnode-alternative node) subproblem?))))) (define-integrable (node-rtl-result node) (node-property-get node tag/node-rtl-result))