aboutsummaryrefslogtreecommitdiff
path: root/lib/std/debug.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-09-27 19:48:42 -0700
committerAndrew Kelley <andrew@ziglang.org>2021-09-27 19:53:29 -0700
commitc0aa4a1a42b3e0d312bd274799be67d60a1c0238 (patch)
tree6af32089a5fd3b6f79d7eb8a5fcb26bd0a46c39b /lib/std/debug.zig
parent25266d08046df6032007b46346faf01a2f40ef31 (diff)
downloadzig-c0aa4a1a42b3e0d312bd274799be67d60a1c0238.tar.gz
zig-c0aa4a1a42b3e0d312bd274799be67d60a1c0238.zip
stage2: implement basic unions
* AIR instructions struct_field_ptr and related functions now are also emitted by the frontend for unions. Backends must inspect the type of the pointer operand to lower the instructions correctly. - These will be renamed to `agg_field_ptr` (short for "aggregate") in the future. * Introduce the new `set_union_tag` AIR instruction. * Introduce `Module.EnumNumbered` and associated `Type` methods. This is for enums which have no decls, but do have the possibility of overriding the integer tag type and tag values. * Sema: Implement support for union tag types in both the auto-generated and explicitly-provided cases, as well as explicitly provided enum tag values in union declarations. * LLVM backend: implement lowering union types, union field pointer instructions, and the new `set_union_tag` instruction.
Diffstat (limited to 'lib/std/debug.zig')
0 files changed, 0 insertions, 0 deletions