aboutsummaryrefslogtreecommitdiffhomepage
path: root/c.c
Commit message (Collapse)AuthorAgeFilesLines
* implement long double (as double synonym). wchar_t placeholderlemon2025-10-151-4/+2
|
* c: various initializer fixeslemon2025-10-151-11/+50
|
* c: cast/compound lit distinction is syntax basedlemon2025-10-151-1/+1
|
* c: concatenate adjacent string literal tokenslemon2025-10-151-3/+22
|
* c: allow using pointer-decaying types with &&, ||lemon2025-10-151-1/+1
|
* c: error string typolemon2025-10-151-1/+1
|
* c: compound inits are lvalueslemon2025-10-151-1/+1
|
* c: redeclaration ok when old was unspecified length arraylemon2025-10-151-0/+7
|
* implement most of preprocessorlemon2025-10-131-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
* typeoflemon2025-10-121-0/+22
|
* bugfixeslemon2025-10-101-3/+2
|
* compound literalslemon2025-10-091-4/+23
|
* c: call memset for some runtime zero initializationslemon2025-10-091-18/+32
|
* bugfix for initzlemon2025-10-081-1/+2
|
* bit math gooflemon2025-10-081-1/+1
|
* initial implementation of run-time array/aggregate initializerslemon2025-10-081-32/+118
|
* alloc changeslemon2025-09-171-5/+3
|
* fix some warningslemon2025-09-171-5/+5
|
* implement switch statementlemon2025-09-161-20/+112
|
* frontend: more bitfield worklemon2025-09-151-49/+120
|
* no need to use a pmap for goto labels honestlylemon2025-09-151-14/+23
|
* a little refactoring and cleanuplemon2025-09-151-1/+1
|
* fix signed bitfield erratalemon2025-09-141-2/+2
|
* start implementing bitfieldslemon2025-09-141-46/+149
|
* codegen: float cmp, ior; frontend: fix cond expr buglemon2025-09-141-5/+4
|
* preliminary pie and piclemon2025-09-141-4/+5
|
* change freearena for correctnesslemon2025-09-141-4/+4
|
* frontend: warn k&r function declarationlemon2025-09-141-0/+2
|
* c: function-local static varslemon2025-09-121-12/+37
|
* c: warn redefinition, allow redeclaratinoslemon2025-09-101-4/+19
|
* ccomp: fix memory leak with temporary arena parsing for stmtlemon2025-09-091-1/+3
|
* frontend: basic #includelemon2024-04-091-1/+1
|
* move definition of struct labellemon2023-09-051-10/+9
|
* fixlemon2023-09-051-2/+2
|
* make ptr offset in init take obj size into accountlemon2023-09-051-3/+4
|
* some frontend fixeslemon2023-06-301-3/+24
|
* add initializers (only static for initialier list rn)lemon2023-06-291-68/+555
| | | | and other fixes
* also C23 static_assertlemon2023-06-261-3/+3
|
* c: move codegen code after decl parserlemon2023-06-261-748/+748
|
* frontend: add static assertlemon2023-06-261-1/+37
|
* frontend: add labels and goto statementlemon2023-06-261-8/+119
|
* explicitly store predecessors in each blocklemon2023-06-211-21/+17
|
* fix type of undeclared functionslemon2023-06-201-0/+1
|
* fix cls logic for comparison instrslemon2023-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 brancheslemon2023-06-191-2/+3
|
* frontend: disallow non-local decls in for initializerlemon2023-06-191-6/+14
|
* frontend: rename parser -> lexer and document c.clemon2023-06-191-38/+56
|
* frontend: separate compiler & lexerlemon2023-06-191-296/+305
|
* frontend: add for, break, continue statementslemon2023-06-191-74/+199
|
* ELF output static datalemon2023-06-181-1/+1
|