diff options
| author | 2022-08-13 10:38:27 +0200 | |
|---|---|---|
| committer | 2022-08-13 10:38:27 +0200 | |
| commit | 7d4cb5bb96b061ed8708889b75e4d50757d9b3f2 (patch) | |
| tree | b57fdfa2dd7d61b888930d45c5f8f6f873db39ff /bootstrap/cgen.c | |
| parent | 62132ecc8d032ef251d6b54177414a9ba29e8610 (diff) | |
set template
Diffstat (limited to 'bootstrap/cgen.c')
| -rw-r--r-- | bootstrap/cgen.c | 6 |
1 files changed, 5 insertions, 1 deletions
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); } } |