| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2017-05-19 | change slicing syntax from ... to .. | Andrew Kelley | |
| See #359 | |||
| 2017-05-09 | inline function call with builtin function instead... | Andrew Kelley | |
| ...of special syntax. partially reverts 41144a8566a6fbd779403f6b69424bb640c94a7f closes #306 | |||
| 2017-05-04 | implement else on loops and break can give an expression | Andrew Kelley | |
| closes #357 | |||
| 2017-05-04 | implement while for nullables and error unions | Andrew Kelley | |
| See #357 | |||
| 2017-05-03 | change while syntax | Andrew Kelley | |
| Old: ``` while (condition; expression) {} ``` New: ``` while (condition) : (expression) {} ``` This is in preparation to allow nullable and error union types as the condition. See #357 | |||
| 2017-05-03 | remove test and try expressions in favor of if expressions | Andrew Kelley | |
| See #357 | |||
| 2017-04-22 | slicing now returns correct const-ness | Andrew Kelley | |
| also remove the ability to override constness when slicing closes #334 | |||
| 2017-04-21 | update syntax for try and nullable unwrapping | Andrew Kelley | |
| closes #285 | |||
| 2017-04-21 | remove `?return` and `?defer` | Andrew Kelley | |
| closes #309 | |||
| 2017-04-14 | comptime ({}) should not get an implicit semicolon | Josh Wolfe | |
| closes #292. | |||
| 2017-04-13 | Merge remote-tracking branch 'origin/parser' | Andrew Kelley | |
| 2017-04-13 | typedefpocalypse | Andrew Kelley | |
| closes #314 | |||
| 2017-04-12 | block statement lists never get fake expressions | Josh Wolfe | |
| instead blocks have a field that encodes whether the last statement ended with a semicolon. | |||
| 2017-04-13 | ability to inline at function callsite | Andrew Kelley | |
| closes #306 | |||
| 2017-04-02 | fix else-if parsing | Josh Wolfe | |
| implicit semicolon rules apply recursively to the "else" clause of if and try if (a) {} else {} // implicit semicolon if (a) {} else if (a) {} // implicit semicolon if (a) {} else while (a) {} // implicit semicolon | |||
| 2017-04-02 | defer without a block body requires a following semicolon | Josh Wolfe | |
| 2017-04-02 | add secret void expression after defer statement if it's the last statement ↵ | Josh Wolfe | |
| in a block | |||
| 2017-04-02 | allow implicit semicolon after defer {} | Josh Wolfe | |
| 2017-04-02 | variable declarations must be followed by semicolon | Josh Wolfe | |
| 2017-04-02 | fix confusion in block expression parsing | Josh Wolfe | |
| closes #292 * if, try, while, for, comptime, defer are "greedy" with {} blocks, meaning if their bodies are blocks, then no suffix operator is allowed after the block. The {} block gets "built into" the containing statement, like the body of a switch statement. * the Expression syntactic element is no longer "greedy" with {} blocks, meaning it's possible to have suffix operators after {} blocks without needing the {} block to be an rhs operand first. | |||
| 2017-04-02 | Require top-level-declaration comptime use {} | Josh Wolfe | |
| This forbids `comptime 1 comptime 1` at top-level scope. | |||
| 2017-03-31 | clean up analysis of {blocks} | Josh Wolfe | |
| * Don't insert void statements all over the place. {} now stays as {} instead of {{}}, and {;} becomes {} instead of {{};{}}. * Ensure final statement is always the return value statement, or the block is empty. This means {label:} becomes {label:{}}. | |||
| 2017-03-26 | replace "&&" and "||" with "and" and "or" | Andrew Kelley | |
| closes #272 | |||
| 2017-03-26 | new unreachable syntax | Andrew Kelley | |
| * `noreturn` is the primitive type. * `unreachable` is a control flow keyword. * `@unreachable()` builtin function is deleted. closes #214 | |||
| 2017-03-26 | add comptime top level declaration | Andrew Kelley | |
| closes #255 | |||
| 2017-03-16 | introduce new test syntax | Andrew Kelley | |
| * remove setFnTest builtin * add test "name" { ... } syntax * remove --check-unused argument. functions are always lazy now. | |||
| 2017-02-07 | inline assembly allows clobbers with no input | Andrew Kelley | |
| 2017-02-05 | try expression can omit variable assignments | Andrew Kelley | |
| 2017-02-04 | inline assembly supports `%=` syntax | Andrew Kelley | |
| it outputs a number that is unique to each instance of the asm statement in the entire compilation. useful when creating local labels and referring to them multiple times in a single template that generates multiple assembler instructions | |||
| 2017-02-04 | remove volatileStore builtin; add volatile pointers | Andrew Kelley | |
| closes #238 | |||
| 2017-02-03 | implement packed structs | Andrew Kelley | |
| closes #183 | |||
| 2017-02-02 | add try expression | Andrew Kelley | |
| See #83 | |||
| 2017-02-02 | remove ability to mark if and switch as inline | Andrew Kelley | |
| if and switch are implicitly inline if the condition/target expression is known at compile time. instead of: ``` inline if (condition) ... inline switch (target) ... ``` one can use: ``` if (comptime condition) ... switch (comptime target) ... ``` | |||
| 2017-01-23 | various fixes | Andrew Kelley | |
| * comptime expression is a block expression as it should be * fix var args when number of args passed is 0 * implement const value equality for structs * fix indent when rendering container decl AST * IR: prevent duplicate generation of code when it is partially compile-time evaluated * implement compile time struct field pointer evaluation * fix compile time evaluation of slicing | |||
| 2017-01-23 | basic support for functions with variable length arguments | Andrew Kelley | |
| See #77 | |||
| 2017-01-22 | introduce comptime expression | Andrew Kelley | |
| closes #221 | |||
| 2017-01-22 | use comptime instead of inline for var and params | Andrew Kelley | |
| See #221 | |||
| 2017-01-16 | get rid of zeroes literal | Andrew Kelley | |
| closes #222 | |||
| 2017-01-13 | fix some stuff when llvm has assertions on | Andrew Kelley | |
| 2016-12-31 | IR: progress toward compiling standard library | Andrew Kelley | |
| * comptime fn call * is_comptime doesn't count as an instruction dependency * update more std code to latest zig | |||
| 2016-12-18 | hello.zig working with all structs anonymous | Andrew Kelley | |
| 2016-12-18 | IR: all structs anonymous | Andrew Kelley | |
| 2016-12-07 | IR: add error for assigning runtime value to inline var | Andrew Kelley | |
| 2016-12-06 | IR: implement defer | Andrew Kelley | |
| 2016-12-04 | IR: re-organize where state goes to prepare for generics | Andrew Kelley | |
| * Rip out legacy code for generics * put scope in instruction instead of AST nodes * separate top level decl stuff from AST nodes - remove the assumption that there is a 1:1 correspondence between an output instruction and an AST node - This way we won't have to clone AST nodes for generics. | |||
| 2016-11-26 | IR: add inline goto | Andrew Kelley | |
| 2016-11-26 | IR: fix parsing while loop | Andrew Kelley | |
| 2016-11-26 | IR: support inline switch | Andrew Kelley | |
| 2016-11-24 | IR: generating a switch statement | Andrew Kelley | |
| 2016-11-17 | remove AST cloning code and add AST render for while loops | Andrew Kelley | |
