From 7addda685d9f624479cd2248a86a16b5a810f225 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 13 Feb 2014 22:30:35 -0500 Subject: [PATCH] cmd/5g, cmd/8g: fix build The test added in CL 63630043 fails on 5g and 8g because they were not emitting the VARDEF instruction when clearing a fat value by clearing the components. 6g had the call in the right place. Hooray tests. TBR=iant CC=golang-codereviews https://golang.org/cl/63660043 --- src/cmd/5g/ggen.c | 3 +-- src/cmd/8g/ggen.c | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/cmd/5g/ggen.c b/src/cmd/5g/ggen.c index 16aef3d1a5..ebf2391f5a 100644 --- a/src/cmd/5g/ggen.c +++ b/src/cmd/5g/ggen.c @@ -766,14 +766,13 @@ clearfat(Node *nl) if(debug['g']) dump("\nclearfat", nl); + gvardef(nl); w = nl->type->width; // Avoid taking the address for simple enough types. if(componentgen(N, nl)) return; - gvardef(nl); - c = w % 4; // bytes q = w / 4; // quads diff --git a/src/cmd/8g/ggen.c b/src/cmd/8g/ggen.c index c0d25013fe..2ea92980c1 100644 --- a/src/cmd/8g/ggen.c +++ b/src/cmd/8g/ggen.c @@ -73,13 +73,13 @@ clearfat(Node *nl) if(debug['g']) dump("\nclearfat", nl); + gvardef(nl); + w = nl->type->width; // Avoid taking the address for simple enough types. if(componentgen(N, nl)) return; - gvardef(nl); - c = w % 4; // bytes q = w / 4; // quads -- 2.48.1