X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Fexpressc.c;h=6651547081a0fb45ffa93c83ac9ff00113ded6b0;hb=d8d68d0bd4c45af6f0dc69b4fc33d37d961aca85;hp=876804b4110786f14d2cc1ff2db9f17c1f6bcfaa;hpb=e536ce9e39cc1bfa82ecd1d6d73f874af655f9db;p=inform.git diff --git a/src/expressc.c b/src/expressc.c index 876804b..6651547 100644 --- a/src/expressc.c +++ b/src/expressc.c @@ -1,9 +1,8 @@ /* ------------------------------------------------------------------------- */ /* "expressc" : The expression code generator */ /* */ -/* Copyright (c) Graham Nelson 1993 - 2020 */ -/* */ -/* This file is part of Inform. */ +/* Part of Inform 6.35 */ +/* copyright (c) Graham Nelson 1993 - 2021 */ /* */ /* Inform is free software: you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ @@ -451,10 +450,12 @@ static void access_memory_z(int oc, assembly_operand AO1, assembly_operand AO2, index_ao; int x = 0, y = 0, byte_flag = FALSE, read_flag = FALSE, from_module = FALSE; + INITAO(&zero_ao); + INITAO(&size_ao); + INITAO(&type_ao); + if (AO1.marker == ARRAY_MV || AO1.marker == STATIC_ARRAY_MV) { - INITAO(&zero_ao); - if ((oc == loadb_zc) || (oc == storeb_zc)) byte_flag=TRUE; else byte_flag = FALSE; if ((oc == loadb_zc) || (oc == loadw_zc)) read_flag=TRUE; @@ -822,10 +823,12 @@ static void access_memory_g(int oc, assembly_operand AO1, assembly_operand AO2, else read_flag = FALSE; + INITAO(&zero_ao); + INITAO(&size_ao); + INITAO(&type_ao); + if (AO1.marker == ARRAY_MV || AO1.marker == STATIC_ARRAY_MV) { - INITAO(&zero_ao); - size_ao = zero_ao; size_ao.value = -1; for (x=0; x