diff options
| author | 2022-08-07 21:14:05 +0200 | |
|---|---|---|
| committer | 2022-08-07 21:14:05 +0200 | |
| commit | e305f71c3cbd685eacb77451b3728b2cac492d71 (patch) | |
| tree | c33aa2dc2d1e706b54ba428c6c787cbe49cd1c7a /bootstrap | |
| parent | 8c6a876e9ff39789cbd2fc8b73abd3549928ba89 (diff) | |
fix (for some reason this only segfaulted on -m32)
Diffstat (limited to 'bootstrap')
| -rw-r--r-- | bootstrap/cgen.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/bootstrap/cgen.c b/bootstrap/cgen.c index 3bd6710..df5ccbc 100644 --- a/bootstrap/cgen.c +++ b/bootstrap/cgen.c @@ -143,9 +143,9 @@ geniniex(struct expr *ex) { for (int i = 0; i < ex->ini.args.n; ++i) { struct iniarg *arg = &ex->ini.args.d[i]; if (ex->ty->t == TYarr) - pri("[%I] = %e, ", arg->idx, arg->ex); + pri("[%I] = %e, ", arg->idx, &arg->ex); else - pri(".%s = %e, ", arg->fld, arg->ex); + pri(".%s = %e, ", arg->fld, &arg->ex); } pri("}"); @@ -581,8 +581,10 @@ defctype(const struct type *ty, void *_) { *cname = xasprintf("__ty%d", id++); pri("typedef struct { %t *ptr; size_t len; } %s;\n", ty->child, *cname); - pri("_Static_assert(sizeof(%s) == %U);\n", *cname, (u64)ty->size); - pri("_Static_assert(__alignof__(%s) == %U);\n", *cname, (u64)ty->align); + pri("_Static_assert(sizeof(%s) == %U, \"sizeof(%t) == %U\");\n", + *cname, (u64)ty->size, ty, (u64)ty->size); + pri("_Static_assert(__alignof__(%s) == %U, \"__alignof__(%t) == %U\");\n", + *cname, (u64)ty->align, ty, (u64)ty->align); break; case TYfn: *cname = xasprintf("__ty%d", id++); @@ -620,8 +622,10 @@ defctype(const struct type *ty, void *_) { pri("%t %s;\n", fld.ty, fld.name); } pri("};\n"); - pri("_Static_assert(sizeof(%s) == %U);\n", *cname, (u64)ty->size); - pri("_Static_assert(__alignof__(%s) == %U);\n", *cname, (u64)ty->align); + pri("_Static_assert(sizeof(%s) == %U, \"sizeof(%t) == %U\");\n", + *cname, (u64)ty->size, ty, (u64)ty->size); + pri("_Static_assert(__alignof__(%s) == %U, \"__alignof__(%t) == %U\");\n", + *cname, (u64)ty->align, ty, (u64)ty->align); } for (int i = 0; i < ty->agg.decls.n; ++i) liftdecl(ty->agg.decls.d[i]); |