From 9155b8a68ac2f161fae05b1bf8b568b4a3cad475 Mon Sep 17 00:00:00 2001 From: ceriel Date: Fri, 15 Mar 1991 11:21:46 +0000 Subject: [PATCH] Fixed bug that never occurred, but was discovered by reading the code --- lang/m2/comp/desig.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/lang/m2/comp/desig.c b/lang/m2/comp/desig.c index bea76c2dc..d84c5a948 100644 --- a/lang/m2/comp/desig.c +++ b/lang/m2/comp/desig.c @@ -166,7 +166,7 @@ suitable_move(tp) register t_type *tp; { /* Find out how to load or store the value indicated by "ds". - There are three ways: + There are four ways: - suitable for BLM/LOI/STI - suitable for LOI/STI - suitable for LOS/STS/BLS @@ -214,10 +214,7 @@ CodeValue(ds, tp) break; case USE_LOAD_STORE: sz = WA(tp->tp_size); -#ifndef SQUEEZE - if (ds->dsg_kind != DSG_PFIXED) -#endif - { + if (ds->dsg_kind != DSG_PFIXED) { arith tmp = NewPtr(); CodeAddress(ds); @@ -227,13 +224,11 @@ CodeValue(ds, tp) LOL(tmp, pointer_size); FreePtr(tmp); } -#ifndef SQUEEZE else { CodeConst(-sz, (int) pointer_size); C_ass(pointer_size); + CodeAddress(ds); } -#endif - CodeAddress(ds); CodeConst(tp->tp_size, (int) pointer_size); CAL("load", (int)pointer_size + (int)pointer_size); break; @@ -587,8 +582,7 @@ CodeVarDesig(df, ds) C_lxa((arith) difflevel); if ((df->df_flags & D_VARPAR) || IsConformantArray(df->df_type)) { - /* var parameter, big parameter, - or conformant array. + /* var parameter or conformant array. The address is passed. */ C_adp(df->var_off); -- 2.34.1