From b295cd602d59888c373819ec3bcd63e12f008702 Mon Sep 17 00:00:00 2001 From: lemon Date: Sun, 4 Jun 2023 11:20:43 +0200 Subject: bugfix --- parse.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'parse.c') diff --git a/parse.c b/parse.c index dc6717b..9a5d99a 100644 --- a/parse.c +++ b/parse.c @@ -1763,7 +1763,12 @@ block(struct parser *pr, struct function *fn) error(&span, "cannot initialize '%ty' variable with '%ty'", decl.ty, ini.ty); } - EMITS genstore(fn, decl.ty, mkref(RTMP, decl.id), exprvalue(fn, &ini)); + EMITS { + if (isagg(decl.ty)) + structcopy(fn, mkref(RTMP, decl.id), &ini); + else + genstore(fn, decl.ty, mkref(RTMP, decl.id), exprvalue(fn, &ini)); + } } break; case SCTYPEDEF: break; -- cgit v1.2.3