From bbf407f352f88b1c9fc71ce0e61954132086cd4b Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Tue, 3 Apr 1990 23:20:21 +0000 Subject: [PATCH] Prevent the diamond rule for pblocks from generating the same block on both branches, the assembler will then complain because of duplicate labels. --- v7/src/compiler/back/linear.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/v7/src/compiler/back/linear.scm b/v7/src/compiler/back/linear.scm index 4ebcc2aa8..659b5fb48 100644 --- a/v7/src/compiler/back/linear.scm +++ b/v7/src/compiler/back/linear.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/back/linear.scm,v 4.10 1990/04/01 22:26:21 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/back/linear.scm,v 4.11 1990/04/03 23:20:21 jinx Rel $ Copyright (c) 1987, 1988, 1990 Massachusetts Institute of Technology @@ -33,6 +33,7 @@ promotional, or sales literature without prior written consent from MIT in each case. |# ;;;; LAP linearizer +;;; package: (compiler lap-syntaxer linearizer) (declare (usual-integrations)) @@ -128,7 +129,10 @@ MIT in each case. |# ,@consequent ,(lap:make-label-statement jlabel) ,@(linearize-next cn)))))))))) - (cond ((sblock? cn) + (cond ((eq? cn an) + (warn "bblock-linearize-lap: Identical branches" pblock) + (unspecial)) + ((sblock? cn) (let ((cnn (find-next (snode-next cn)))) (cond ((eq? cnn an) (consequent-first)) -- 2.25.1