aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
AgeCommit message (Collapse)Author
2018-04-09async tcp server proof of conceptAndrew Kelley
2018-04-08fixups from rebaseAndrew Kelley
2018-04-08running into the llvm corosplit error againAndrew Kelley
2018-04-08*WIP* async/await TCP serverAndrew Kelley
2018-04-08error return traces work with async return caseAndrew Kelley
2018-04-08put the error return addresses in the coro frameAndrew Kelley
2018-04-08error return traces for the early return caseAndrew Kelley
it would work but LLVM is not correctly spilling the addresses. See #821
2018-04-01Add run compiler commandMarc 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-28fix compile time array concatenation for slicesAndrew Kelley
closes #866
2018-03-27fix crash when compile error in analyzing @panic callAndrew Kelley
2018-03-24fix invalid codegen for error return traces across suspend pointsAndrew Kelley
See #821 Now the code works correctly, but error return traces are missing the frames from coroutines.
2018-03-24add promise->T syntax parsingAndrew Kelley
closes #857
2018-03-24fix async fns with inferred error setsAndrew Kelley
closes #856
2018-03-24move error ret tracing codegen to zig irAndrew Kelley
progress towards #821
2018-03-22ability to use async function pointersAndrew Kelley
closes #817
2018-03-14fix tests broken by previous commitAndrew Kelley
2018-03-13Tests for zero-bit field compiler errorAndrea Orru
2018-03-13Compiler error when taking @offsetOf of void struct memberAndrea Orru
closes #739
2018-03-13fix casting a function to a pointer causing compiler crashAndrew Kelley
closes #777
2018-03-12some return types disqualify comptime fn call cachingAndrew Kelley
closes #828
2018-03-12fix comptime slicing not preserving comptime mutabilityAndrew 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-12fix incorrect setEvalBranchQuota compile errorAndrew Kelley
closes #688
2018-03-10fix await multithreaded data raceAndrew 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-09don't memoize comptime functions if they can mutate state via parametersAndrew Kelley
closes #639
2018-03-08fix partial inlining of binary math operator using old valueAndrew Kelley
the code was abusing the internal IR API. fixed now. closes #699
2018-03-07add compile error for using @tagName on extern unionAndrew Kelley
closes #742
2018-03-06fix missing compile error for returning error from void async functionAndrew Kelley
closes #799
2018-03-06turn assertion into compile error for using var as return typeAndrew Kelley
closes #758
2018-03-06var is no longer a pseudo-type, it is syntaxAndrew Kelley
closes #779
2018-03-06fix assertion when taking slice of zero-length arrayAndrew Kelley
closes #788
2018-03-06ptrCast builtin now gives an error for removing const qualifierAndrew Kelley
closes #384
2018-03-01Merge remote-tracking branch 'origin/master' into asyncAndrew Kelley
2018-03-01await keyword worksAndrew Kelley
2018-03-01implementation of awaitAndrew Kelley
but it has bugs
2018-02-28implement coroutine resumeAndrew Kelley
2018-02-28async function fulfills promise atomicallyAndrew Kelley
2018-02-28add atomicrmw builtin functionAndrew Kelley
2018-02-28better coroutine codegen, now passing first coro testAndrew Kelley
we have to use the Suspend block with llvm.coro.end to return from the coro
2018-02-28break the data dependencies that llvm coro transforms cant handleAndrew Kelley
my simple coro test program builds now see #727
2018-02-28another workaround for llvm coroutinesAndrew Kelley
this one doesn't work either
2018-02-27revert workaround for alloc and free as coro paramsAndrew Kelley
reverts 4ac6c4d6bfb8f7ada2799ddb5ce3a9797be0518d the workaround didn't work
2018-02-26workaround for llvm: delete coroutine allocation elisionAndrew Kelley
maybe this can be reverted, but it seems to be related to llvm's coro transformations crashing. See #727
2018-02-26workaround llvm coro transformationsAndrew Kelley
by making alloc and free functions be parameters to async functions instead of using getelementptr in the DynAlloc block See #727
2018-02-26allow implicit cast from &const to ?&const &constBen 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-26implement coroutine suspendAndrew Kelley
see #727
2018-02-26parse await and suspend syntaxAndrew Kelley
See #727
2018-02-25move coroutine init code to after coro.beginAndrew Kelley
2018-02-25fix invalid memory write in coroutines implementationAndrew Kelley
2018-02-25coroutines: fix llvm error of instruction not dominating usesAndrew Kelley
See #727
2018-02-25codegen for coro_resume instructionAndrew Kelley
See #727