diff options
| author | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-05-09 02:56:07 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-09-26 03:41:55 +0200 |
| commit | a3f56c76444fee090e62a59f257ed5f60b4e552b (patch) | |
| tree | 721c82e33078515dae8cbca2ddc0d664d4929c88 /ws.c | |
| download | prc-a3f56c76444fee090e62a59f257ed5f60b4e552b.tar.gz | |
Add project skeleton
Diffstat (limited to 'ws.c')
| -rw-r--r-- | ws.c | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -0,0 +1,29 @@ +#include "ws.h" +#include "fn.h" +#include "prv.h" +#include "parse.h" +#include "storage.h" + +static int wspush(const struct stentry *e, struct cgen *c) +{ + const struct type *t = e->t; + + printf("%%%s_ =l alloc%zu %zu\n", e->tk->s, t->align, t->sz); + return 0; +} + +int ws_cgen(const struct storage *s, struct cgen *c) +{ + for (size_t i = 0; i < s->nentries; i++) + if (wspush(&s->entries[i], c)) + return -1; + + return 0; +} + +int ws(const struct lex *l, struct prv *p) +{ + struct fn *fn = fn_cur(p); + + return storage(l, p, "storage section", 1, &fn->ws); +} |
