| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-04-09 | async tcp server proof of concept | Andrew Kelley | |
| 2018-04-08 | fixups from rebase | Andrew Kelley | |
| 2018-04-08 | running into the llvm corosplit error again | Andrew Kelley | |
| 2018-04-08 | *WIP* async/await TCP server | Andrew Kelley | |
| 2018-04-08 | error return traces work with async return case | Andrew Kelley | |
| 2018-04-08 | put the error return addresses in the coro frame | Andrew Kelley | |
| 2018-04-08 | error return traces for the early return case | Andrew Kelley | |
| it would work but LLVM is not correctly spilling the addresses. See #821 | |||
| 2018-04-01 | Add run compiler command | Marc Tiehuis | |
| 'zig run file.zig' builds a file and stores the artifacts in the global cache. On successful compilation the binary is executed. 'zig run file.zig -- a b c' does the same, but passes the arguments a, b and c as runtime arguments to the program. Everything after an '--' are treated as runtime arguments. On a posix system, a shebang can be used to run a zig file directly. An example shebang would be '#!/usr/bin/zig run'. You may not be able pass extra compile arguments currently as part of the shebang. Linux for example treats all arguments after the first as a single argument which will result in an 'invalid command'. Currently there is no customisability for the cache path as a compile argument. For a posix system you can use `TMPDIR=. zig run file.zig` to override, in this case using the current directory for the run cache. The input file is always recompiled, even if it has changed. This is intended to be cached but further discussion/thought needs to go into this. Closes #466. | |||
| 2018-03-28 | fix compile time array concatenation for slices | Andrew Kelley | |
| closes #866 | |||
| 2018-03-27 | fix crash when compile error in analyzing @panic call | Andrew Kelley | |
| 2018-03-24 | fix invalid codegen for error return traces across suspend points | Andrew Kelley | |
| See #821 Now the code works correctly, but error return traces are missing the frames from coroutines. | |||
| 2018-03-24 | add promise->T syntax parsing | Andrew Kelley | |
| closes #857 | |||
| 2018-03-24 | fix async fns with inferred error sets | Andrew Kelley | |
| closes #856 | |||
| 2018-03-24 | move error ret tracing codegen to zig ir | Andrew Kelley | |
| progress towards #821 | |||
| 2018-03-22 | ability to use async function pointers | Andrew Kelley | |
| closes #817 | |||
| 2018-03-14 | fix tests broken by previous commit | Andrew Kelley | |
| 2018-03-13 | Tests for zero-bit field compiler error | Andrea Orru | |
| 2018-03-13 | Compiler error when taking @offsetOf of void struct member | Andrea Orru | |
| closes #739 | |||
| 2018-03-13 | fix casting a function to a pointer causing compiler crash | Andrew Kelley | |
| closes #777 | |||
| 2018-03-12 | some return types disqualify comptime fn call caching | Andrew Kelley | |
| closes #828 | |||
| 2018-03-12 | fix comptime slicing not preserving comptime mutability | Andrew Kelley | |
| * fix comptime slice of slice not preserving mutatibility of the comptime data * fix comptime slice of pointer not preserving mutability of the comptime data closes #826 | |||
| 2018-03-12 | fix incorrect setEvalBranchQuota compile error | Andrew Kelley | |
| closes #688 | |||
| 2018-03-10 | fix await multithreaded data race | Andrew Kelley | |
| coro return was reading from a value that coro await was writing to. that wasn't how it was designed to work, it was an implementation mistake. this commit also has some work-in-progress code for fixing error return traces across suspend points. | |||
| 2018-03-09 | don't memoize comptime functions if they can mutate state via parameters | Andrew Kelley | |
| closes #639 | |||
| 2018-03-08 | fix partial inlining of binary math operator using old value | Andrew Kelley | |
| the code was abusing the internal IR API. fixed now. closes #699 | |||
| 2018-03-07 | add compile error for using @tagName on extern union | Andrew Kelley | |
| closes #742 | |||
| 2018-03-06 | fix missing compile error for returning error from void async function | Andrew Kelley | |
| closes #799 | |||
| 2018-03-06 | turn assertion into compile error for using var as return type | Andrew Kelley | |
| closes #758 | |||
| 2018-03-06 | var is no longer a pseudo-type, it is syntax | Andrew Kelley | |
| closes #779 | |||
| 2018-03-06 | fix assertion when taking slice of zero-length array | Andrew Kelley | |
| closes #788 | |||
| 2018-03-06 | ptrCast builtin now gives an error for removing const qualifier | Andrew Kelley | |
| closes #384 | |||
| 2018-03-01 | Merge remote-tracking branch 'origin/master' into async | Andrew Kelley | |
| 2018-03-01 | await keyword works | Andrew Kelley | |
| 2018-03-01 | implementation of await | Andrew Kelley | |
| but it has bugs | |||
| 2018-02-28 | implement coroutine resume | Andrew Kelley | |
| 2018-02-28 | async function fulfills promise atomically | Andrew Kelley | |
| 2018-02-28 | add atomicrmw builtin function | Andrew Kelley | |
| 2018-02-28 | better coroutine codegen, now passing first coro test | Andrew Kelley | |
| we have to use the Suspend block with llvm.coro.end to return from the coro | |||
| 2018-02-28 | break the data dependencies that llvm coro transforms cant handle | Andrew Kelley | |
| my simple coro test program builds now see #727 | |||
| 2018-02-28 | another workaround for llvm coroutines | Andrew Kelley | |
| this one doesn't work either | |||
| 2018-02-27 | revert workaround for alloc and free as coro params | Andrew Kelley | |
| reverts 4ac6c4d6bfb8f7ada2799ddb5ce3a9797be0518d the workaround didn't work | |||
| 2018-02-26 | workaround for llvm: delete coroutine allocation elision | Andrew Kelley | |
| maybe this can be reverted, but it seems to be related to llvm's coro transformations crashing. See #727 | |||
| 2018-02-26 | workaround llvm coro transformations | Andrew Kelley | |
| by making alloc and free functions be parameters to async functions instead of using getelementptr in the DynAlloc block See #727 | |||
| 2018-02-26 | allow implicit cast from &const to ?&const &const | Ben Noordhuis | |
| Allow implicit casts from n-th degree const pointers to nullable const pointers of degree n+1. That is: fn f() void { const s = S {}; const p = &s; g(p); // Works. g(&p); // So does this. } fn g(_: ?&const &const S) void { // Nullable 2nd degree const ptr. } Fixes #731 some more. | |||
| 2018-02-26 | implement coroutine suspend | Andrew Kelley | |
| see #727 | |||
| 2018-02-26 | parse await and suspend syntax | Andrew Kelley | |
| See #727 | |||
| 2018-02-25 | move coroutine init code to after coro.begin | Andrew Kelley | |
| 2018-02-25 | fix invalid memory write in coroutines implementation | Andrew Kelley | |
| 2018-02-25 | coroutines: fix llvm error of instruction not dominating uses | Andrew Kelley | |
| See #727 | |||
| 2018-02-25 | codegen for coro_resume instruction | Andrew Kelley | |
| See #727 | |||
