From 7d4cb5bb96b061ed8708889b75e4d50757d9b3f2 Mon Sep 17 00:00:00 2001 From: lemon Date: Sat, 13 Aug 2022 10:38:27 +0200 Subject: set template --- bootstrap/cgen.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'bootstrap/cgen.c') diff --git a/bootstrap/cgen.c b/bootstrap/cgen.c index b164905..14f36f1 100644 --- a/bootstrap/cgen.c +++ b/bootstrap/cgen.c @@ -554,7 +554,9 @@ liftdecl(struct decl *decl) { case Dfn: if ((decl->fn.body || (decl->container && !decl->externp)) && !*decl->_cname) { if (decl->container) - *decl->_cname = xasprintf("__m%s_%s%d", decl->container->agg.name, decl->fn.name, decl->fn.id); + *decl->_cname = xasprintf("__m%s_%s%d", + decl->container->agg.name ? decl->container->agg.name : "_", + decl->fn.name, decl->fn.id); else *decl->_cname = xasprintf("__f%s_%d", decl->fn.name, decl->fn.id); genfn(decl->externp, *decl->_cname, &decl->fn); @@ -841,6 +843,8 @@ cgen(FILE *fp, const struct comfile *cf) { visittypes(defctype, NULL); for (int i = 0; i < cf->decls.n; ++i) { + if (cf->decls.d[i]->t != Dfn && cf->decls.d[i]->t != Dstatic) + liftdecl(cf->decls.d[i]); gendecl(cf->decls.d[i], 1); } } -- cgit v1.2.3