diff options
author | Nicholas Noll <nbnoll@eml.cc> | 2020-05-16 10:39:05 -0700 |
---|---|---|
committer | Nicholas Noll <nbnoll@eml.cc> | 2020-05-16 10:39:05 -0700 |
commit | 6c9563e91eb7aa738aa2656d141ce56ef66b50cf (patch) | |
tree | 85fd9a50777ae8f5ec14ca112d26c5f4b9262113 /sys/cmd/cc/sym.c | |
parent | 3f7474df0645224ce61fedcd908028f41971189e (diff) |
feat: added directory for command line tools
Diffstat (limited to 'sys/cmd/cc/sym.c')
-rw-r--r-- | sys/cmd/cc/sym.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/sys/cmd/cc/sym.c b/sys/cmd/cc/sym.c new file mode 100644 index 0000000..ef40bce --- /dev/null +++ b/sys/cmd/cc/sym.c @@ -0,0 +1,32 @@ +#include "cc.h" + +#include <libn/macro/map.h> + +#define PTR_HASH(p) (uintptr)(p) +#define PTR_EQUAL(p1, p2) ((uintptr)(p1) == (uintptr)(p2)) + +#if 0 +struct SymTab +{ + MAP_STRUCT_BODY(string, Sym*); +}; + +Sym* +getsym(SymTab *tab, string key) +{ + MAP_GET(tab, key, PTR_HASH, PTR_EQUAL, nil); +} + +static +int +moresymtab(SymTab *tab, int n) +{ + MAP_GROW(tab, string, Sym*, n, PTR_HASH); +} + +int +putsym(SymTab *tab, Sym *sym, error *err) +{ + MAP_PUT(tab, sym->name, sym, PTR_HASH, PTR_EQUAL, moresymtab, err); +} +#endif |