aboutsummaryrefslogtreecommitdiff
path: root/src/compiler
Commit message (Expand)AuthorAgeFilesLines
* analyzer: a .u (declared or inferred) function can't return a borrowed parame...Gravatar zinc 12 days2-1/+9
* std.Io.print/println take any mix of printable arguments (compiler expands pe...Gravatar zinc 12 days1-0/+33
* analyzer: a back link (container's owner stored into it) stays a plain refere...Gravatar zinc 12 days1-1/+4
* analyzer: infer .u from returns of fresh objects in the body (prescan guess, ...Gravatar zinc 12 days2-1/+38
* analyzer: an outer owner moved into a deeper container can take it back (loop...Gravatar zinc 12 days2-4/+45
* lsp: borrow errors ranged on the use, with related information for where the ...Gravatar zinc 12 days2-4/+24
* analyzer: check borrow returns of forward-called functions at the unit's end;...Gravatar zinc 12 days6-9/+115
* analyzer: use-after-end messages name the borrower, the owner and how the own...Gravatar zinc 12 days4-18/+47
* x86-64 jit: inline new_k, recycle_leaf and own fast paths, in o3 regions and ...Gravatar zinc 12 days1-2/+2
* prover: do not restore length facts after a call-loopGravatar zinc 12 days1-6/+6
* prover: len/cross-array/fixed-new/affine proofs; keep facts past call loopsGravatar zinc 12 days1-19/+27
* wip: prover gaps (inline len bound, cross-array, rt.new depth, fixed new, aff...Gravatar zinc 12 days4-42/+112
* o3: use new_k (size-class free lists) like plain codeGravatar zinc 12 days1-4/+4
* actor: a declared actor without its own drop gets one that awaits owed replie...Gravatar zinc 12 days1-1/+3
* o3: an o3 function called from normal code as a receiver method (run.method) ...Gravatar zinc 12 days1-1/+3
* o3: break and continue out of an o3 { } block call rt.o3_leave for each block...Gravatar zinc 12 days1-0/+12
* destructors: hint: x: has drop and is live at spawn; the worker's copy drops ...Gravatar zinc 12 days2-0/+14
* destructors: nothing moves out of a value with a drop: pop on an array with a...Gravatar zinc 12 days1-1/+8
* destructors: reassigning an m owner that still holds a value frees the old va...Gravatar zinc 12 days3-4/+43
* compiler: a //:lines marker starts a new file, so unbounded; and unchecked; o...Gravatar zinc 12 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