| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | implement most of preprocessor | 2025-10-13 | 1 | -11/+19 | |
| | | | | | | | | | - concatenation (##) - builtin macros (__FILE__ etc) - fails in some edge cases, and code needs cleanup - add embedded system include files (stddef.h, stdarg.h for now) - can handle stdio.h now | ||||
| * | typeof | 2025-10-12 | 1 | -0/+22 | |
| | | |||||
| * | bugfixes | 2025-10-10 | 1 | -3/+2 | |
| | | |||||
| * | compound literals | 2025-10-09 | 1 | -4/+23 | |
| | | |||||
| * | c: call memset for some runtime zero initializations | 2025-10-09 | 1 | -18/+32 | |
| | | |||||
| * | bugfix for initz | 2025-10-08 | 1 | -1/+2 | |
| | | |||||
| * | bit math goof | 2025-10-08 | 1 | -1/+1 | |
| | | |||||
| * | initial implementation of run-time array/aggregate initializers | 2025-10-08 | 1 | -32/+118 | |
| | | |||||
| * | alloc changes | 2025-09-17 | 1 | -5/+3 | |
| | | |||||
| * | fix some warnings | 2025-09-17 | 1 | -5/+5 | |
| | | |||||
| * | implement switch statement | 2025-09-16 | 1 | -20/+112 | |
| | | |||||
| * | frontend: more bitfield work | 2025-09-15 | 1 | -49/+120 | |
| | | |||||
| * | no need to use a pmap for goto labels honestly | 2025-09-15 | 1 | -14/+23 | |
| | | |||||
| * | a little refactoring and cleanup | 2025-09-15 | 1 | -1/+1 | |
| | | |||||
| * | fix signed bitfield errata | 2025-09-14 | 1 | -2/+2 | |
| | | |||||
| * | start implementing bitfields | 2025-09-14 | 1 | -46/+149 | |
| | | |||||
| * | codegen: float cmp, ior; frontend: fix cond expr bug | 2025-09-14 | 1 | -5/+4 | |
| | | |||||
| * | preliminary pie and pic | 2025-09-14 | 1 | -4/+5 | |
| | | |||||
| * | change freearena for correctness | 2025-09-14 | 1 | -4/+4 | |
| | | |||||
| * | frontend: warn k&r function declaration | 2025-09-14 | 1 | -0/+2 | |
| | | |||||
| * | c: function-local static vars | 2025-09-12 | 1 | -12/+37 | |
| | | |||||
| * | c: warn redefinition, allow redeclaratinos | 2025-09-10 | 1 | -4/+19 | |
| | | |||||
| * | ccomp: fix memory leak with temporary arena parsing for stmt | 2025-09-09 | 1 | -1/+3 | |
| | | |||||
| * | frontend: basic #include | 2024-04-09 | 1 | -1/+1 | |
| | | |||||
| * | move definition of struct label | 2023-09-05 | 1 | -10/+9 | |
| | | |||||
| * | fix | 2023-09-05 | 1 | -2/+2 | |
| | | |||||
| * | make ptr offset in init take obj size into account | 2023-09-05 | 1 | -3/+4 | |
| | | |||||
| * | some frontend fixes | 2023-06-30 | 1 | -3/+24 | |
| | | |||||
| * | add initializers (only static for initialier list rn) | 2023-06-29 | 1 | -68/+555 | |
| | | | | | and other fixes | ||||
| * | also C23 static_assert | 2023-06-26 | 1 | -3/+3 | |
| | | |||||
| * | c: move codegen code after decl parser | 2023-06-26 | 1 | -748/+748 | |
| | | |||||
| * | frontend: add static assert | 2023-06-26 | 1 | -1/+37 | |
| | | |||||
| * | frontend: add labels and goto statement | 2023-06-26 | 1 | -8/+119 | |
| | | |||||
| * | explicitly store predecessors in each block | 2023-06-21 | 1 | -21/+17 | |
| | | |||||
| * | fix type of undeclared functions | 2023-06-20 | 1 | -0/+1 | |
| | | |||||
| * | fix cls logic for comparison instrs | 2023-06-20 | 1 | -1/+1 | |
| | | | | | | | | | previously instr.cls always represented the output dataclass. this doesn't work for comparisons because we know the output is always a boolean integer and we care about the actual comparison dataclass. so now .cls represents the operation dataclass, which matches the result class except for comparisons where the result is always KI4V | ||||
| * | backend: compile comparison instrs and branches | 2023-06-19 | 1 | -2/+3 | |
| | | |||||
| * | frontend: disallow non-local decls in for initializer | 2023-06-19 | 1 | -6/+14 | |
| | | |||||
| * | frontend: rename parser -> lexer and document c.c | 2023-06-19 | 1 | -38/+56 | |
| | | |||||
| * | frontend: separate compiler & lexer | 2023-06-19 | 1 | -296/+305 | |
| | | |||||
| * | frontend: add for, break, continue statements | 2023-06-19 | 1 | -74/+199 | |
| | | |||||
| * | ELF output static data | 2023-06-18 | 1 | -1/+1 | |
| | | |||||
| * | less memset | 2023-06-15 | 1 | -1/+0 | |
| | | |||||
| * | simpler handling of large constants in IR | 2023-06-14 | 1 | -1/+2 | |
| | | |||||
| * | rename parse.c -> c.c | 2023-06-13 | 1 | -0/+2626 | |