| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-02-08 | error set casting building | Andrew Kelley | |
| 2018-02-05 | error sets: fix peer resolution of error unions | Andrew Kelley | |
| 2018-02-04 | add --forbid-library | Andrew Kelley | |
| to help track down accidentally linking against a library | |||
| 2018-02-03 | *WIP* error sets - an inferred error set can end up being the global one | Andrew Kelley | |
| 2018-02-02 | *WIP* error sets - correctly resolve inferred error sets | Andrew Kelley | |
| 2018-01-31 | *WIP* error sets | Andrew Kelley | |
| 2018-01-25 | rename "debug safety" to "runtime safety" | Andrew Kelley | |
| closes #437 | |||
| 2018-01-23 | fix printf format specifier | Andrew Kelley | |
| 2018-01-23 | Add array type handling for gen_h | Marc Tiehuis | |
| 2018-01-22 | add new kind of test: generating .h files. and more | Andrew 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-17 | fix error return traces pointing to off-by-one source line | Andrew Kelley | |
| See #651 | |||
| 2018-01-15 | add builtin.have_error_return_tracing | Andrew Kelley | |
| 2018-01-15 | clean up error return tracing | Andrew 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 | |||
| 2018-01-14 | stack traces are a variable number of frames | Andrew Kelley | |
| 2018-01-14 | error return traces use a zig-provided function to save binary size | Andrew Kelley | |
| 2018-01-14 | error return trace pointer prefixes other params | Andrew Kelley | |
| instead of being last. This increases the chances that it can remain in the same register between calls. | |||
| 2018-01-12 | *WIP* proof of concept error return traces | Andrew Kelley | |
| 2018-01-11 | functions which can return errors have secret stack trace param | Andrew Kelley | |
| See #651 | |||
| 2018-01-11 | the same string literal codegens to the same constant | Andrew Kelley | |
| this makes it so that you can send the same string literal as a comptime slice and get the same type | |||
| 2018-01-06 | Darwin -> MacOSX, added Zen. See #438 | Andrea Orru | |
| 2017-12-26 | self-hosted: build against zig_llvm and embedded LLD | Andrew Kelley | |
| Now the self-hosted compiler re-uses the same C++ code for interfacing with LLVM as the C++ code. It also links against the same LLD library files. | |||
| 2017-12-24 | fix segfault when passing union enum with sub byte... | Andrew Kelley | |
| ...field to const slice parameter we use a packed struct internally to represent a const array of disparate union values, and needed to update the internal getelementptr instruction to recognize that. closes #664 | |||
| 2017-12-23 | translate-c: set up debug scope for translated functions | Andrew Kelley | |
| 2017-12-22 | fix endianness of sub-byte integer fields in packed structs | Andrew Kelley | |
| closes #307 | |||
| 2017-12-19 | fix crash when implicitly casting array of len 0 to slice | Andrew Kelley | |
| closes #660 | |||
| 2017-12-19 | bring back code that uses export and fix tests | Andrew Kelley | |
| partial revert of 1fdebc1dc4881a00766f7c2b4b2d8ee6ad6e79b6 | |||
| 2017-12-18 | wip export rewrite | Andrew Kelley | |
| 2017-12-08 | translate-c: more complex logic for translating a C cast in a macro | Andrew Kelley | |
| 2017-12-06 | add higher level arg-parsing API + misc. changes | Andrew Kelley | |
| * add @noInlineCall - see #640 This fixes a crash in --release-safe and --release-fast modes where the optimizer inlines everything into _start and clobbers the command line argument data. If we were able to verify that the user's code never reads command line args, we could leave off this "no inline" attribute. * add i29 and u29 primitive types. u29 is the type of alignment, so it makes sense to be a primitive. probably in the future we'll make any `i` or `u` followed by digits into a primitive. * add `aligned` functions to Allocator interface * add `os.argsAlloc` and `os.argsFree` so that you can get a `[]const []u8`, do whatever arg parsing you want, and then free it. For now this uses the other API under the hood, but it could be reimplemented to do a single allocation. * add tests to make sure command line argument parsing works. | |||
| 2017-12-05 | add implicit cast from enum to union | Andrew Kelley | |
| when the enum is the tag type of the union and is comptime known to be of a void field of the union See #642 | |||
| 2017-12-05 | translate-c: fix not printing clang errors | Andrew Kelley | |
| 2017-12-04 | fix incorrect LLVM IR for union constant when active field is void | Andrew Kelley | |
| found in the llvm6 branch with llvm assertions on | |||
| 2017-12-04 | rename builtin.is_big_endian to builtin.endian | Andrew Kelley | |
| See #307 | |||
| 2017-12-03 | rename @EnumTagType to @TagType. add tests for union-enums | Andrew Kelley | |
| See #618 | |||
| 2017-12-03 | rework enums and unions and their relationship to each other | Andrew 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-12-02 | ability to set tag values of enums | Andrew Kelley | |
| also remove support for enums with 0 values closes #305 | |||
| 2017-12-01 | packed structs can have enums with explicit tag types | Andrew Kelley | |
| See #305 | |||
| 2017-11-30 | ability to specify tag type of enums | Andrew Kelley | |
| see #305 | |||
| 2017-11-24 | rename "parsec" to "translate-c" | Andrew Kelley | |
| 2017-11-16 | fix codegen for union init with runtime value | Andrew Kelley | |
| see #144 | |||
| 2017-11-16 | debug safety for unions | Andrew Kelley | |
| 2017-11-16 | union secret field is the tag index instead of distinct type index | Andrew Kelley | |
| See #144 | |||
| 2017-11-15 | unions have a secret field for the type | Andrew Kelley | |
| See #144 | |||
| 2017-11-15 | basic union support | Andrew Kelley | |
| See #144 | |||
| 2017-11-10 | fix test failures | Andrew Kelley | |
| put all the codegen for fn prototypes to the same place | |||
| 2017-11-10 | fix bug when multiple function definitions exist | Andrew Kelley | |
| This might be related to #529 | |||
| 2017-11-08 | fix enum sizes too large | Andrew Kelley | |
| closes #598 | |||
| 2017-11-06 | add @memberType and @memberName builtin functions | Andrew 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-04 | add compile-time reflection for function arg types | Andrew Kelley | |
| See #383 | |||
| 2017-11-03 | Add emit command-line option (#580) | Marc Tiehuis | |
| Add emit command-line option | |||
