aboutsummaryrefslogtreecommitdiff
path: root/src/ir_print.cpp
AgeCommit message (Collapse)Author
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-01implementation of awaitAndrew Kelley
but it has bugs
2018-02-28add atomicrmw builtin functionAndrew Kelley
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 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-26implement coroutine suspendAndrew Kelley
see #727
2018-02-23implement Zig IR for async functionsAndrew Kelley
See #727
2018-02-22IR analysis for coro.beginAndrew Kelley
See #727
2018-02-22coroutines: analyze get_implicit_allocator instructionAndrew Kelley
see #727
2018-02-21add coroutine startup IR to async functionsAndrew Kelley
See #727
2018-02-21implement IR analysis for async function callsAndrew Kelley
See #727
2018-02-20parse async fn calls and cancel expressionsAndrew Kelley
2018-02-02*WIP* error sets - correctly resolve inferred error setsAndrew Kelley
2018-01-31*WIP* error setsAndrew Kelley
2018-01-25rename "debug safety" to "runtime safety"Andrew Kelley
closes #437
2018-01-22add new kind of test: generating .h files. and moreAndrew Kelley
* docgen supports obj_err code kind for demonstrating errors without explicit test cases * add documentation for `extern enum`. See #367 * remove coldcc keyword and add @setIsCold. See #661 * add compile errors for non-extern struct, enum, unions in function signatures * add .h file generation for extern struct, enum, unions
2018-01-15clean up error return tracingAndrew Kelley
* error return tracing is disabled in release-fast mode * add @errorReturnTrace * zig build API changes build return type from `void` to `%void` * allow `void`, `noreturn`, and `u8` from main. closes #535
2017-12-18wip export rewriteAndrew Kelley
2017-12-13fix const and volatile qualifiers being dropped sometimesAndrew Kelley
in the expression `&const a.b`, the const (and/or volatile) qualifiers would be incorrectly dropped. closes #655
2017-12-03rename @EnumTagType to @TagType. add tests for union-enumsAndrew Kelley
See #618
2017-12-03rework enums and unions and their relationship to each otherAndrew Kelley
* @enumTagName renamed to @tagName and it works on enums and union-enums * Remove the EnumTag type. Now there is only enum and union, and the tag type of a union is always an enum. * unions support specifying the tag enum type, and they support inferring an enum tag type. * Enums no longer support field types but they do support setting the tag values. Likewise union-enums when inferring an enum tag type support setting the tag values. * It is now an error for enums and unions to have 0 fields. * switch statements support union-enums closes #618
2017-11-30ability to specify tag type of enumsAndrew Kelley
see #305
2017-11-15basic union supportAndrew Kelley
See #144
2017-11-06add @memberType and @memberName builtin functionsAndrew Kelley
see #383 there is a plan to unify most of the reflection into 2 builtin functions, as outlined in the above issue, but this gives us needed features for now, and we can iterate on the design in future commits
2017-11-04add compile-time reflection for function arg typesAndrew Kelley
See #383
2017-10-03add @setAlignStack builtinAndrew Kelley
2017-09-05add OpaqueType builtinAndrew Kelley
closes #326
2017-08-30successfully cross-building behavior tests for windowsAndrew Kelley
2017-08-29more alignment improvementsAndrew Kelley
* add alignment capability for fn protos * add @alignCast * fix some ast rendering code * fix some ir rendering code * add error for pointer cast increasing alignment * update allocators in std to correctly align See #37
2017-08-29introduce align keywordAndrew Kelley
* remove `@setGlobalAlign` * add align keyword for setting alignment on functions and variables. * loads and stores use alignment from pointer * memcpy, memset use alignment from pointer * add syntax for pointer alignment * slices can have volatile * add u2, i2 primitives * ignore preferred align and use abi align everywhere * back to only having alignOf builtin. preferredAlignOf is too tricky to be useful. See #432. Partial revert of e726925e802eddab53cbfd9aacbc5eefe95c356f. See #37
2017-08-26remove @alignOf and add @cAbiAlignOf and @preferredAlignOfAndrew Kelley
See #396
2017-08-19add setEvalBranchQuota builtin functionAndrew Kelley
2017-08-09more intuitive left shift and right shift operatorsAndrew Kelley
Before: * << is left shift, not allowed to shift 1 bits out * <<% is left shift, allowed to shift 1 bits out * >> is right shift, allowed to shift 1 bits out After: * << is left shift, allowed to shift 1 bits out * >> is right shift, allowed to shift 1 bits out * @shlExact is left shift, not allowed to shift 1 bits out * @shrExact is right shift, not allowed to shift 1 bits out Closes #413
2017-08-06fix segfault when var args fn proto shows up in ir printingAndrew Kelley
2017-06-14partial implementation of printing floating point numbers with errol3Andrew Kelley
also add bitCast builtin function. closes #387
2017-05-23building with mingw for windowsAndrew Kelley
2017-05-20add setFloatMode builtin and std.math.floorAndrew Kelley
* skip installing std/rand_test.zig as it's not needed beyond running the std lib tests * add std.math.floor function * add setFloatMode builtin function to choose between builtin.FloatMode.Optimized (default) and builtin.FloatMode.Strict (Optimized is equivalent to -ffast-math in gcc)
2017-05-17typeId builtin instead of isInteger, isFloat, etcAndrew Kelley
closes #373
2017-05-09inline function call with builtin function instead...Andrew Kelley
...of special syntax. partially reverts 41144a8566a6fbd779403f6b69424bb640c94a7f closes #306
2017-05-07delete @generatedCode builtin functionAndrew Kelley
good riddance
2017-05-07detect duplicate switch value even when else prong presentAndrew Kelley
closes #43
2017-05-06builtin functions for division and remainder divisionAndrew Kelley
* add `@divTrunc` and `@divFloor` functions * add `@rem` and `@mod` functions * add compile error for `/` and `%` with signed integers * add `.bit_count` for float primitive types closes #217
2017-05-01`@import("builtin")` instead of `@compileVar`Andrew Kelley
See #226 Closes #220
2017-04-23blocks check that their statements are voidJosh Wolfe
closes #291 This changes the error message "return value ignored" to "expression value is ignored". This is because this error also applies to {1;}, which has no function calls. Also fix ignored expression values in std and test. This caught a bug in debug.readAllocBytes where an early Eof error would have been missed. See #219.
2017-04-23make undefined as a constant value lazyAndrew Kelley
closes #268
2017-04-22slicing now returns correct const-nessAndrew Kelley
also remove the ability to override constness when slicing closes #334
2017-04-20Add @offsetOf builtin functionRaul Leal
2017-04-18add `@fieldParentPtr` builtin functionAndrew Kelley
closes #320