diff options
author | Thomas Bracht Laumann Jespersen <t@laumann.xyz> | 2023-01-26 12:09:44 +0100 |
---|---|---|
committer | Quentin Carbonneaux <quentin@c9x.me> | 2023-06-06 18:44:51 +0200 |
commit | 0d929287d77ccc3fb52ca8bd072678b5ae2c81c8 (patch) | |
tree | 72cf91ec66052797059734c9d089a49a69b47122 /all.h | |
parent | e493a7f23352f51acc0a1e12284ab19d7894488a (diff) | |
download | roux-0d929287d77ccc3fb52ca8bd072678b5ae2c81c8.tar.gz |
implement line number info tracking
Support "file" and "loc" directives. "file" takes a string (a file name) assigns it a number, sets the current file to that number and records the string for later. "loc" takes a single number and outputs location information with a reference to the current file.
Diffstat (limited to 'all.h')
-rw-r--r-- | all.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/all.h b/all.h index b6591f0..4d36314 100644 --- a/all.h +++ b/all.h @@ -502,7 +502,7 @@ bshas(BSet *bs, uint elt) /* parse.c */ extern Op optab[NOp]; -void parse(FILE *, char *, void (Dat *), void (Fn *)); +void parse(FILE *, char *, void (char *), void (Dat *), void (Fn *)); void printfn(Fn *, FILE *); void printref(Ref, Fn *, FILE *); void err(char *, ...) __attribute__((noreturn)); @@ -568,6 +568,8 @@ void rega(Fn *); /* emit.c */ void emitfnlnk(char *, Lnk *, FILE *); void emitdat(Dat *, FILE *); +void emitdbgfile(char *, FILE *); +void emitdbgloc(uint, FILE *); int stashbits(void *, int); void elf_emitfnfin(char *, FILE *); void elf_emitfin(FILE *); |