aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-04-23 18:28:46 -0700
committerAndrew Kelley <andrew@ziglang.org>2021-04-23 18:35:21 -0700
commitb40a8efb9a72e69cd7e9061fc4c08d5e705b0fbd (patch)
treeb62377262318b6f6d76a0b75d43dff106e553a2f /src/Compilation.zig
parent183ee0965fac6322651666834776d9832cc95ddd (diff)
downloadzig-b40a8efb9a72e69cd7e9061fc4c08d5e705b0fbd.tar.gz
zig-b40a8efb9a72e69cd7e9061fc4c08d5e705b0fbd.zip
stage2: implement `anyframe`, `anyframe->T` and fix assembly
* AstGen: implement `anyframe_literal` and `anyframe_type`. * Introduce `makeSubBlock` to avoid redundant AstGen code for GenZir scopes. Allows adding/removing a field without possibility of accidentally introducing a bug of forgetting to set the new field. * Add to GenZir `nosuspend_node` and `suspend_node` in preparation for implementing `suspend` blocks and `nosuspend` blocks. * AstGen: fix assembly to support clobbers, multiple outputs, and outputs without `->` syntax. - `asm` and `asm_volatile` move to `Extended` enum with `small` being repurposed for a few things. This frees up 2 ZIR tags, 1 of which is used in this commit and 1 is leftover. * AstGen: fix `simple_types` incorrectly having multiple conflicting values for "undefined" and "null". - Also add "anyframe" to `simple_types`. * Add `anyframe_type` to type.zig, value.zig and `Zir.Inst.Ref`. - Also add i128 and u128 types to `Zir.Inst.Ref` and `simple_types`. * Sema/Zir: Fix incorrect math causing the function body to be messed up for Extended-encoded functions. * Zir: support `i32` fields for "extra" payloads.
Diffstat (limited to 'src/Compilation.zig')
0 files changed, 0 insertions, 0 deletions