aboutsummaryrefslogtreecommitdiff
path: root/src/compiler
Commit message (Expand)AuthorAgeFilesLines
* duplicate case labels are an error (b.2.15); unterminated string literal repo...Gravatar zinc 12 days2-3/+15
* constant expressions: c precedence and / % ^ (b.1.3); local const usable in c...Gravatar zinc 12 days3-16/+57
* merge work/demo-fixes: analyzer ownership fixes (back links, loop-built lists...Gravatar zinc 12 days4-7/+133
|\
| * prescan: guess an owned return only from a local declared from new/heap, not ...Gravatar zinc 12 days1-2/+6
| * 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
* | hold: copy hold.h with micro.c everywhere; xref baseline for hold globals; ls...Gravatar zinc 12 days1-1/+1
* | hold blocks: top-level hold { shared let ...; fn ... } monitors; shared value...Gravatar zinc 12 days3-1/+71
|/
* 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 13 days1-6/+6
* prover: len/cross-array/fixed-new/affine proofs; keep facts past call loopsGravatar zinc 13 days1-19/+27
* wip: prover gaps (inline len bound, cross-array, rt.new depth, fixed new, aff...Gravatar zinc 13 days4-42/+112
* o3: use new_k (size-class free lists) like plain codeGravatar zinc 13 days1-4/+4
* actor: a declared actor without its own drop gets one that awaits owed replie...Gravatar zinc 13 days1-1/+3
* o3: an o3 function called from normal code as a receiver method (run.method) ...Gravatar zinc 13 days1-1/+3
* o3: break and continue out of an o3 { } block call rt.o3_leave for each block...Gravatar zinc 13 days1-0/+12
* destructors: hint: x: has drop and is live at spawn; the worker's copy drops ...Gravatar zinc 13 days2-0/+14
* 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