From 46e1f128fd310bd29a2b4335b36c60d6cc0aa3a7 Mon Sep 17 00:00:00 2001 From: lemon Date: Sat, 20 Aug 2022 11:06:38 +0200 Subject: initial work on IR --- bootstrap/cgen.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'bootstrap/cgen.c') diff --git a/bootstrap/cgen.c b/bootstrap/cgen.c index 5fae699..e4ba1fd 100644 --- a/bootstrap/cgen.c +++ b/bootstrap/cgen.c @@ -246,7 +246,10 @@ genexpr(struct expr *ex) { pri(")"); break; case Eas: - pri("((%t)%e)", ex->ty, ex->child); + if (ex->ty->t != TYarr) + pri("((%t)%e)", ex->ty, ex->child); + else + pri("(%e)", ex->child); break; case Eenumval: pri("/*%s:%s*/", ex->ty->enu.name, ex->enu.vname); @@ -341,7 +344,7 @@ genstmt(struct blockstmt *block, struct stmt *stmt) { && (decl.var.ini->t == Ezeroini || decl.var.ini->t == Eini)) { geniniex(decl.var.ini); - } else if (decl.var.ty->t == TYeunion) { + } else if (decl.var.ini->t == Eeuini) { geneuiniex(decl.var.ini); } else { pri("%e", decl.var.ini); -- cgit v1.2.3