aboutsummaryrefslogtreecommitdiff
path: root/gl.c
blob: de0293f48f06dea6836db97b03a3b79cd520db8c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "gl.h"
#include "fn.h"
#include "prv.h"
#include "parse.h"
#include "storage.h"

int gl_cgen(const struct storage *gl, struct cgen *c)
{
    for (size_t i = 0; i < gl->nentries; i++)
    {
        const struct stentry *e = &gl->entries[i];

        printf("export data $%s = { z %zu }\n", e->tk->s, e->t->sz);
    }

    return 0;
}

int gl(const struct lex *l, struct prv *p)
{
    struct fn *fn = fn_cur(p);

    return storage(l, p, "globals section", 1, &fn->gl);
}