aboutsummaryrefslogtreecommitdiff
path: root/src/compiler
Commit message (Expand)AuthorAgeFilesLines
* destructors: nothing moves out of a value with a drop: pop on an array with a...Gravatar zinc 13 days1-1/+8
* destructors: reassigning an m owner that still holds a value frees the old va...Gravatar zinc 13 days3-4/+43
* compiler: a //:lines marker starts a new file, so unbounded; and unchecked; o...Gravatar zinc 13 days1-1/+3
* compiler: the drop globals' comment says mailbox send, so nothing the compile...Gravatar zinc 13 days1-1/+1
* destructors: heap(v), drop(v, f) / v.drop(f) / v.drop = f, struct drop method...Gravatar zinc 13 days5-6/+125
* defer: any single statement (if/else, loops, switch, unchecked, unbounded), n...Gravatar zinc 13 days1-4/+8
* fndef: b.2.13 unnamed prototype parameters in fewer ops (402197 -> 402112 wor...Gravatar zinc 13 days1-9/+8
* detach doc comments on internal bounds helpers (genome size); todo: reuse cap...Gravatar zinc 13 days1-0/+19
* explain-checks: the record writer moves to src/lib/explain.zc, embedded and c...Gravatar zinc 13 days3-54/+14
* bounds: body scan, loop-entry hoisting, pointer proofs from requested size, -...Gravatar zinc 13 days7-13/+391
* zy: nonzero exit on compile errorsGravatar zinc 13 days1-3/+5
* rt: exact-size heap bounds; n, the words new asked for, lives in bits 32..62 ...Gravatar zinc 13 days1-2/+2
* len: len on a char* is an error with typecheck off too (appendix b.2.14)Gravatar zinc 13 days1-1/+2
* prototypes: parameters may be unnamed, int f(int, int*); (appendix b.2.13)Gravatar zinc 13 days1-2/+11
* bool: normalising into a bool keeps an incompatible source type, so the retur...Gravatar zinc 13 days1-1/+2
* lexer: a block comment that is never closed is 'unterminated comment' (append...Gravatar zinc 13 days1-0/+2
* bool: a value stored into a bool is normalised to 0 or 1 (appendix b.2.6)Gravatar zinc 13 days1-0/+5
* enum: a member is defined as soon as it is declared, so later values can name...Gravatar zinc 13 days2-2/+10
* globals: an integer constant initializing a float or f32 global converts to f...Gravatar zinc 13 days1-1/+2
* Merge branch 'main' into work/specGravatar zinc 13 days9-37/+140
|\
| * merge bounds checkingGravatar zinc 13 days9-37/+140
| |\
| | * bounds checking: constant loop bound proof works, plain-op fixed-array check,...Gravatar zinc 13 days1-6/+8
| | * bounds checking: port agent/bounds-checking onto main 0879d0a; unbounded main...Gravatar zinc 13 days9-36/+137
* | | ternary: an int side and a float side convert the int on its own path only (a...Gravatar zinc 13 days1-3/+7
* | | include: written inside a function body is 'include is top level only' (appen...Gravatar zinc 13 days1-0/+1
* | | globals: a float or f32 global takes a float literal initializer (appendix b....Gravatar zinc 13 days1-0/+3
* | | fndef: a prototype after a definition in the same module keeps the definition...Gravatar zinc 13 days1-4/+5
* | | fndef: a second definition of a function in the same module is 'is defined tw...Gravatar zinc 13 days1-0/+4
* | | unary: u*x, m*x, d*x are not recasts when the tag names a global variable eitherGravatar zinc 13 days1-1/+6
* | | closures: allow 24 parameters, like functions (was 19)Gravatar zinc 13 days1-2/+2
|/ /
* | merge: seven self-hosted compiler fixes from conformanceGravatar zinc 13 days4-7/+8
|\ \ | |/ |/|
| * switch: case member(): with no names matches a tagged member by tag even when...Gravatar zinc 13 days1-1/+1
| * memdebug: accept 'memdebug scrub;' (the check compared against rt.scrub); the...Gravatar zinc 13 days1-1/+1
| * return: a value returned from a void function is dropped and the function yie...Gravatar zinc 13 days1-1/+1
| * fndef: allow 24 parameters; the limit check ran after the 24th was countedGravatar zinc 13 days1-1/+1
| * casts: a cast clears the byte-string flag unless the type is bstr, so (int*)s...Gravatar zinc 13 days1-0/+1
| * unary: u*x, m*x, d*x are not recasts when the tag names a visible local (spec...Gravatar zinc 13 days1-1/+1
| * capture_scan: restore panic after the dry scan, so a bad literal in a functio...Gravatar zinc 13 days1-2/+2
* | line tables and backtraces: port agent/line-tables onto main, op 56 on the x8...Gravatar zinc 13 days8-9/+163
|/
* Merge the defer statement; todo: tick it, add its follow-upsGravatar zinc 14 days6-2/+117
|\
| * zc: add the defer statementGravatar zinc 14 days6-2/+117
* | fix std hover, full capture terminator, bare static calls, void main in run-o...Gravatar zinc 14 days2-3/+7
|/
* split compiler.zc into files by phaseGravatar zinc 14 days14-10458/+10470
* Merge branch 'worktree-agent-a3354164c07827b2e' into ccr-0054c02e-dfdvndGravatar zinc 14 days1-7/+100
|\
| * add c-style typedef and a built-in string aliasGravatar zinc 14 days1-7/+100
* | constants inside structs, and typo suggestions for fields and static membersGravatar zinc 14 days1-7/+117
|/
* todo: one sorted list of open work; library suggestions without naming librariesGravatar zinc 14 days1-17/+59
* zc: untyped local const, c precedence for && and ||, import fixes for every m...Gravatar zinc 14 days1-19/+166
* lsp: quick fixes for hints and bare library names; comment cleanupGravatar zinc 14 days1-267/+295
* embed: tests, editor support and docs; js vm file access; test fixesGravatar zinc 14 days1-7/+14