| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | update license copyright year | 2026-02-24 | 1 | -1/+1 | ||
| | | ||||||
| * | Update README.md | 2026-02-24 | 1 | -0/+1 | ||
| | | ||||||
| * | x86_64/isel: fix regression with cmp instrs edge case | 2026-02-24 | 1 | -1/+1 | ||
| | | ||||||
| * | cpp: fix __has_builtin | 2026-02-23 | 1 | -2/+8 | ||
| | | ||||||
| * | add metalang99 testsuite (preprocessor stress testing) | 2026-02-23 | 119 | -2/+16971 | ||
| | | ||||||
| * | cpp: add __COUNTER__ macro | 2026-02-23 | 3 | -131/+196 | ||
| | | ||||||
| * | 0.1.7 | 2026-02-22 | 2 | -3/+3 | ||
| | | ||||||
| * | Update README.md | lsof | 2026-02-22 | 1 | -2/+2 | |
| | | | | | typos | |||||
| * | Update README | 2026-02-22 | 1 | -0/+1 | ||
| | | ||||||
| * | add sqlite submodule and test runner | 2026-02-22 | 1 | -0/+12 | ||
| | | ||||||
| * | driver: recognize shared libraries; & backend: misc fixes for PIC isel edgecases | 2026-02-22 | 3 | -10/+15 | ||
| | | ||||||
| * | c: fix using string literal as conditional expression conditional | 2026-02-22 | 3 | -12/+31 | ||
| | | ||||||
| * | test: fix c-testsuite.sh to build search index if not present | 2026-02-22 | 1 | -0/+1 | ||
| | | ||||||
| * | preprocessor: fix an edge case with erroneously recursive macro expansion | 2026-02-22 | 2 | -26/+54 | ||
| | | ||||||
| * | 0.1.6 | 2026-02-21 | 1 | -2/+2 | ||
| | | ||||||
| * | update README.md | 2026-02-21 | 1 | -2/+3 | ||
| | | ||||||
| * | Makefile install rule depend on all | 2026-02-21 | 1 | -1/+1 | ||
| | | ||||||
| * | cpp: better diagnostics | 2026-02-21 | 3 | -15/+43 | ||
| | | ||||||
| * | c: fix default argument promotion for function types | 2026-02-21 | 1 | -0/+1 | ||
| | | ||||||
| * | project documentation | 2026-02-21 | 6 | -23/+196 | ||
| | | ||||||
| * | config.mk, make install | 2026-02-21 | 2 | -8/+35 | ||
| | | ||||||
| * | IR: just use an array for extended constants | 2026-02-19 | 9 | -66/+54 | ||
| | | | | | | The extra work of using a hashtable to intern them is probably unnecessary. | |||||
| * | 0.1.5 | 2026-02-19 | 1 | -2/+2 | ||
| | | ||||||
| * | cfg: dominator computation should ignore blocks with no predecessors | 2026-02-19 | 1 | -1/+1 | ||
| | | | | | | | | These didn't show up atp before but with inlining, for example, a noreturn function, they could be introduced. And the pass ordering means they wouldn't have been cleaned up before filldom(). An unreachable block having no dominator makes sense too. | |||||
| * | 0.1.4 | 2026-02-18 | 1 | -2/+2 | ||
| | | ||||||
| * | ir: regalloc & x86-64 isel bugfixes | 2026-02-18 | 2 | -5/+19 | ||
| | | ||||||
| * | ir/dump: sanity check | 2026-02-18 | 1 | -0/+1 | ||
| | | ||||||
| * | ir/rpo: sanity checks | 2026-02-18 | 1 | -4/+7 | ||
| | | ||||||
| * | alloccopy: explicit no-op on zero size. | 2026-02-18 | 1 | -0/+1 | ||
| | | | | | Allows src/dst to be null for zero size, which memcpy doesn't | |||||
| * | ir: basic inlining pass implementation | 2026-02-18 | 9 | -15/+364 | ||
| | | ||||||
| * | 0.1.3 | 2026-02-06 | 1 | -2/+2 | ||
| | | ||||||
| * | cpp: add __VA_OPT__ and comma ## __VA_ARGS__ pasting | 2026-02-06 | 2 | -7/+42 | ||
| | | ||||||
| * | c: support at least parsing C99 _Complex types | 2026-01-25 | 5 | -8/+31 | ||
| | | ||||||
| * | c: GNU __attribute__ stubs | 2026-01-25 | 4 | -16/+78 | ||
| | | ||||||
| * | 0.1.2 | 2026-01-13 | 1 | -2/+2 | ||
| | | ||||||
| * | driver: -iquote, -isystem, etc | 2026-01-12 | 3 | -31/+74 | ||
| | | | | | With GCC-like search order | |||||
| * | 0.1.1 | 2026-01-11 | 1 | -2/+2 | ||
| | | ||||||
| * | simpl: fix simplifying known cond branches | 2026-01-11 | 1 | -8/+3 | ||
| | | ||||||
| * | io: fix hashtable lookup of builtin include files | 2026-01-11 | 1 | -5/+15 | ||
| | | | | | It would break if there were hash collisions. | |||||
| * | target: accept amd64 as x86_64 synonym | 2026-01-10 | 2 | -1/+3 | ||
| | | ||||||
| * | cpp: prioritize internal headers over system headers | 2026-01-10 | 1 | -6/+6 | ||
| | | ||||||
| * | main: use time.h for time(), fexecve optional | 2026-01-10 | 1 | -2/+20 | ||
| | | ||||||
| * | update README | lsof | 2026-01-09 | 1 | -1/+1 | |
| | | ||||||
| * | ir/simpl: stub out some code that wasn't properly tested and broken | 2026-01-09 | 1 | -0/+2 | ||
| | | | | | I'll figure it out later, but I better not have a broken trunk | |||||
| * | Add version tracking. Starting at 0.1.0 | 2026-01-09 | 3 | -4/+38 | ||
| | | ||||||
| * | c: fix use after free | 2026-01-09 | 1 | -1/+2 | ||
| | | | | | | A silly one, declsbuf.p can be realloc'd in the call to putdecl, but in this statement that pointer could be fetched before the call. | |||||
| * | cpp: fix pasting ident+keyword | 2026-01-09 | 2 | -4/+23 | ||
| | | ||||||
| * | update README | 2026-01-09 | 1 | -1/+3 | ||
| | | ||||||
| * | x86_64/isel: fix edgecase of fixarg from seljmp derefing nullpointer | 2026-01-09 | 1 | -1/+1 | ||
| | | ||||||
| * | lexer: multibyte escape seqs in wide character literal | 2026-01-09 | 1 | -4/+13 | ||
| | | | | | (hacky) | |||||