aboutsummaryrefslogtreecommitdiffhomepage
path: root/c.c
Commit message (Collapse)AuthorAgeFilesLines
* compound literals lemon2025-10-091-4/+23
|
* c: call memset for some runtime zero initializations lemon2025-10-091-18/+32
|
* bugfix for initz lemon2025-10-081-1/+2
|
* bit math goof lemon2025-10-081-1/+1
|
* initial implementation of run-time array/aggregate initializers lemon2025-10-081-32/+118
|
* alloc changes lemon2025-09-171-5/+3
|
* fix some warnings lemon2025-09-171-5/+5
|
* implement switch statement lemon2025-09-161-20/+112
|
* frontend: more bitfield work lemon2025-09-151-49/+120
|
* no need to use a pmap for goto labels honestly lemon2025-09-151-14/+23
|
* a little refactoring and cleanup lemon2025-09-151-1/+1
|
* fix signed bitfield errata lemon2025-09-141-2/+2
|
* start implementing bitfields lemon2025-09-141-46/+149
|
* codegen: float cmp, ior; frontend: fix cond expr bug lemon2025-09-141-5/+4
|
* preliminary pie and pic lemon2025-09-141-4/+5
|
* change freearena for correctness lemon2025-09-141-4/+4
|
* frontend: warn k&r function declaration lemon2025-09-141-0/+2
|
* c: function-local static vars lemon2025-09-121-12/+37
|
* c: warn redefinition, allow redeclaratinos lemon2025-09-101-4/+19
|
* ccomp: fix memory leak with temporary arena parsing for stmt lemon2025-09-091-1/+3
|
* frontend: basic #include lemon2024-04-091-1/+1
|
* move definition of struct label lemon2023-09-051-10/+9
|
* fix lemon2023-09-051-2/+2
|
* make ptr offset in init take obj size into account lemon2023-09-051-3/+4
|
* some frontend fixes lemon2023-06-301-3/+24
|
* add initializers (only static for initialier list rn) lemon2023-06-291-68/+555
| | | | and other fixes
* also C23 static_assert lemon2023-06-261-3/+3
|
* c: move codegen code after decl parser lemon2023-06-261-748/+748
|
* frontend: add static assert lemon2023-06-261-1/+37
|
* frontend: add labels and goto statement lemon2023-06-261-8/+119
|
* explicitly store predecessors in each block lemon2023-06-211-21/+17
|
* fix type of undeclared functions lemon2023-06-201-0/+1
|
* fix cls logic for comparison instrs lemon2023-06-201-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 lemon2023-06-191-2/+3
|
* frontend: disallow non-local decls in for initializer lemon2023-06-191-6/+14
|
* frontend: rename parser -> lexer and document c.c lemon2023-06-191-38/+56
|
* frontend: separate compiler & lexer lemon2023-06-191-296/+305
|
* frontend: add for, break, continue statements lemon2023-06-191-74/+199
|
* ELF output static data lemon2023-06-181-1/+1
|
* less memset lemon2023-06-151-1/+0
|
* simpler handling of large constants in IR lemon2023-06-141-1/+2
|
* rename parse.c -> c.c lemon2023-06-131-0/+2626