| author | |
| committer | |
| log | 7b2a936173165002105ba5e76bed69654e132fea |
| tree | 54a77e6d627b2cdec08b57d4402f35011fd064df |
| parent | 4832677c3bce61725c67306c4683921296abdff9 |
16 files changed, 145 insertions(+), 211 deletions(-)
doc/langref.html.in+30-37| ... | ... | @@ -4275,7 +4275,7 @@ test "using @typeInfo with runtime values" { |
| 4275 | 4275 | } |
| 4276 | 4276 | |
| 4277 | 4277 | // Calls to `isFieldOptional` on `Struct1` get unrolled to an equivalent |
| 4278 | // of this function: | |
| 4278 | // of this function: | |
| 4279 | 4279 | fn isFieldOptionalUnrolled(field_index: usize) !bool { |
| 4280 | 4280 | return switch (field_index) { |
| 4281 | 4281 | 0 => false, |
| ... | ... | @@ -7800,7 +7800,7 @@ comptime { |
| 7800 | 7800 | {#header_close#} |
| 7801 | 7801 | |
| 7802 | 7802 | {#header_open|@call#} |
| 7803 | <pre>{#syntax#}@call(options: std.builtin.CallOptions, function: anytype, args: anytype) anytype{#endsyntax#}</pre> | |
| 7803 | <pre>{#syntax#}@call(modifier: std.builtin.CallModifier, function: anytype, args: anytype) anytype{#endsyntax#}</pre> | |
| 7804 | 7804 | <p> |
| 7805 | 7805 | Calls a function, in the same way that invoking an expression with parentheses does: |
| 7806 | 7806 | </p> |
| ... | ... | @@ -7808,7 +7808,7 @@ comptime { |
| 7808 | 7808 | const expect = @import("std").testing.expect; |
| 7809 | 7809 | |
| 7810 | 7810 | test "noinline function call" { |
| 7811 | try expect(@call(.{}, add, .{3, 9}) == 12); | |
| 7811 | try expect(@call(.auto, add, .{3, 9}) == 12); | |
| 7812 | 7812 | } |
| 7813 | 7813 | |
| 7814 | 7814 | fn add(a: i32, b: i32) i32 { |
| ... | ... | @@ -7817,48 +7817,41 @@ fn add(a: i32, b: i32) i32 { |
| 7817 | 7817 | {#code_end#} |
| 7818 | 7818 | <p> |
| 7819 | 7819 | {#syntax#}@call{#endsyntax#} allows more flexibility than normal function call syntax does. The |
| 7820 | {#syntax#}CallOptions{#endsyntax#} struct is reproduced here: | |
| 7820 | {#syntax#}CallModifier{#endsyntax#} enum is reproduced here: | |
| 7821 | 7821 | </p> |
| 7822 | {#syntax_block|zig|builtin.CallOptions struct#} | |
| 7823 | pub const CallOptions = struct { | |
| 7824 | modifier: Modifier = .auto, | |
| 7825 | ||
| 7826 | /// Only valid when `Modifier` is `Modifier.async_kw`. | |
| 7827 | stack: ?[]align(std.Target.stack_align) u8 = null, | |
| 7828 | ||
| 7829 | pub const Modifier = enum { | |
| 7830 | /// Equivalent to function call syntax. | |
| 7831 | auto, | |
| 7822 | {#syntax_block|zig|builtin.CallModifier struct#} | |
| 7823 | pub const CallModifier = enum { | |
| 7824 | /// Equivalent to function call syntax. | |
| 7825 | auto, | |
| 7832 | 7826 | |
| 7833 | /// Equivalent to async keyword used with function call syntax. | |
| 7834 | async_kw, | |
| 7827 | /// Equivalent to async keyword used with function call syntax. | |
| 7828 | async_kw, | |
| 7835 | 7829 | |
| 7836 | /// Prevents tail call optimization. This guarantees that the return | |
| 7837 | /// address will point to the callsite, as opposed to the callsite's | |
| 7838 | /// callsite. If the call is otherwise required to be tail-called | |
| 7839 | /// or inlined, a compile error is emitted instead. | |
| 7840 | never_tail, | |
| 7830 | /// Prevents tail call optimization. This guarantees that the return | |
| 7831 | /// address will point to the callsite, as opposed to the callsite's | |
| 7832 | /// callsite. If the call is otherwise required to be tail-called | |
| 7833 | /// or inlined, a compile error is emitted instead. | |
| 7834 | never_tail, | |
| 7841 | 7835 | |
| 7842 | /// Guarantees that the call will not be inlined. If the call is | |
| 7843 | /// otherwise required to be inlined, a compile error is emitted instead. | |
| 7844 | never_inline, | |
| 7836 | /// Guarantees that the call will not be inlined. If the call is | |
| 7837 | /// otherwise required to be inlined, a compile error is emitted instead. | |
| 7838 | never_inline, | |
| 7845 | 7839 | |
| 7846 | /// Asserts that the function call will not suspend. This allows a | |
| 7847 | /// non-async function to call an async function. | |
| 7848 | no_async, | |
| 7840 | /// Asserts that the function call will not suspend. This allows a | |
| 7841 | /// non-async function to call an async function. | |
| 7842 | no_async, | |
| 7849 | 7843 | |
| 7850 | /// Guarantees that the call will be generated with tail call optimization. | |
| 7851 | /// If this is not possible, a compile error is emitted instead. | |
| 7852 | always_tail, | |
| 7844 | /// Guarantees that the call will be generated with tail call optimization. | |
| 7845 | /// If this is not possible, a compile error is emitted instead. | |
| 7846 | always_tail, | |
| 7853 | 7847 | |
| 7854 | /// Guarantees that the call will inlined at the callsite. | |
| 7855 | /// If this is not possible, a compile error is emitted instead. | |
| 7856 | always_inline, | |
| 7848 | /// Guarantees that the call will inlined at the callsite. | |
| 7849 | /// If this is not possible, a compile error is emitted instead. | |
| 7850 | always_inline, | |
| 7857 | 7851 | |
| 7858 | /// Evaluates the call at compile-time. If the call cannot be completed at | |
| 7859 | /// compile-time, a compile error is emitted instead. | |
| 7860 | compile_time, | |
| 7861 | }; | |
| 7852 | /// Evaluates the call at compile-time. If the call cannot be completed at | |
| 7853 | /// compile-time, a compile error is emitted instead. | |
| 7854 | compile_time, | |
| 7862 | 7855 | }; |
| 7863 | 7856 | {#end_syntax_block#} |
| 7864 | 7857 | {#header_close#} |
lib/std/builtin.zig+32-39| ... | ... | @@ -591,45 +591,38 @@ fn testVersionParse() !void { |
| 591 | 591 | |
| 592 | 592 | /// This data structure is used by the Zig language code generation and |
| 593 | 593 | /// therefore must be kept in sync with the compiler implementation. |
| 594 | pub const CallOptions = struct { | |
| 595 | modifier: Modifier = .auto, | |
| 596 | ||
| 597 | /// Only valid when `Modifier` is `Modifier.async_kw`. | |
| 598 | stack: ?[]align(std.Target.stack_align) u8 = null, | |
| 599 | ||
| 600 | pub const Modifier = enum { | |
| 601 | /// Equivalent to function call syntax. | |
| 602 | auto, | |
| 603 | ||
| 604 | /// Equivalent to async keyword used with function call syntax. | |
| 605 | async_kw, | |
| 606 | ||
| 607 | /// Prevents tail call optimization. This guarantees that the return | |
| 608 | /// address will point to the callsite, as opposed to the callsite's | |
| 609 | /// callsite. If the call is otherwise required to be tail-called | |
| 610 | /// or inlined, a compile error is emitted instead. | |
| 611 | never_tail, | |
| 612 | ||
| 613 | /// Guarantees that the call will not be inlined. If the call is | |
| 614 | /// otherwise required to be inlined, a compile error is emitted instead. | |
| 615 | never_inline, | |
| 616 | ||
| 617 | /// Asserts that the function call will not suspend. This allows a | |
| 618 | /// non-async function to call an async function. | |
| 619 | no_async, | |
| 620 | ||
| 621 | /// Guarantees that the call will be generated with tail call optimization. | |
| 622 | /// If this is not possible, a compile error is emitted instead. | |
| 623 | always_tail, | |
| 624 | ||
| 625 | /// Guarantees that the call will inlined at the callsite. | |
| 626 | /// If this is not possible, a compile error is emitted instead. | |
| 627 | always_inline, | |
| 628 | ||
| 629 | /// Evaluates the call at compile-time. If the call cannot be completed at | |
| 630 | /// compile-time, a compile error is emitted instead. | |
| 631 | compile_time, | |
| 632 | }; | |
| 594 | pub const CallModifier = enum { | |
| 595 | /// Equivalent to function call syntax. | |
| 596 | auto, | |
| 597 | ||
| 598 | /// Equivalent to async keyword used with function call syntax. | |
| 599 | async_kw, | |
| 600 | ||
| 601 | /// Prevents tail call optimization. This guarantees that the return | |
| 602 | /// address will point to the callsite, as opposed to the callsite's | |
| 603 | /// callsite. If the call is otherwise required to be tail-called | |
| 604 | /// or inlined, a compile error is emitted instead. | |
| 605 | never_tail, | |
| 606 | ||
| 607 | /// Guarantees that the call will not be inlined. If the call is | |
| 608 | /// otherwise required to be inlined, a compile error is emitted instead. | |
| 609 | never_inline, | |
| 610 | ||
| 611 | /// Asserts that the function call will not suspend. This allows a | |
| 612 | /// non-async function to call an async function. | |
| 613 | no_async, | |
| 614 | ||
| 615 | /// Guarantees that the call will be generated with tail call optimization. | |
| 616 | /// If this is not possible, a compile error is emitted instead. | |
| 617 | always_tail, | |
| 618 | ||
| 619 | /// Guarantees that the call will inlined at the callsite. | |
| 620 | /// If this is not possible, a compile error is emitted instead. | |
| 621 | always_inline, | |
| 622 | ||
| 623 | /// Evaluates the call at compile-time. If the call cannot be completed at | |
| 624 | /// compile-time, a compile error is emitted instead. | |
| 625 | compile_time, | |
| 633 | 626 | }; |
| 634 | 627 | |
| 635 | 628 | /// This data structure is used by the Zig language code generation and |
src/AstGen.zig+3-3| ... | ... | @@ -8297,11 +8297,11 @@ fn builtinCall( |
| 8297 | 8297 | return rvalue(gz, ri, result, node); |
| 8298 | 8298 | }, |
| 8299 | 8299 | .call => { |
| 8300 | const options = try comptimeExpr(gz, scope, .{ .rl = .{ .ty = .call_options_type } }, params[0]); | |
| 8300 | const modifier = try comptimeExpr(gz, scope, .{ .rl = .{ .coerced_ty = .modifier_type } }, params[0]); | |
| 8301 | 8301 | const callee = try calleeExpr(gz, scope, params[1]); |
| 8302 | 8302 | const args = try expr(gz, scope, .{ .rl = .none }, params[2]); |
| 8303 | 8303 | const result = try gz.addPlNode(.builtin_call, node, Zir.Inst.BuiltinCall{ |
| 8304 | .options = options, | |
| 8304 | .modifier = modifier, | |
| 8305 | 8305 | .callee = callee, |
| 8306 | 8306 | .args = args, |
| 8307 | 8307 | .flags = .{ |
| ... | ... | @@ -8674,7 +8674,7 @@ fn callExpr( |
| 8674 | 8674 | const astgen = gz.astgen; |
| 8675 | 8675 | |
| 8676 | 8676 | const callee = try calleeExpr(gz, scope, call.ast.fn_expr); |
| 8677 | const modifier: std.builtin.CallOptions.Modifier = blk: { | |
| 8677 | const modifier: std.builtin.CallModifier = blk: { | |
| 8678 | 8678 | if (gz.force_comptime) { |
| 8679 | 8679 | break :blk .compile_time; |
| 8680 | 8680 | } |
src/Sema.zig+37-89| ... | ... | @@ -5986,7 +5986,7 @@ fn zirCall( |
| 5986 | 5986 | const extra = sema.code.extraData(Zir.Inst.Call, inst_data.payload_index); |
| 5987 | 5987 | const args_len = extra.data.flags.args_len; |
| 5988 | 5988 | |
| 5989 | const modifier = @intToEnum(std.builtin.CallOptions.Modifier, extra.data.flags.packed_modifier); | |
| 5989 | const modifier = @intToEnum(std.builtin.CallModifier, extra.data.flags.packed_modifier); | |
| 5990 | 5990 | const ensure_result_used = extra.data.flags.ensure_result_used; |
| 5991 | 5991 | const pop_error_return_trace = extra.data.flags.pop_error_return_trace; |
| 5992 | 5992 | |
| ... | ... | @@ -6222,7 +6222,7 @@ fn analyzeCall( |
| 6222 | 6222 | func: Air.Inst.Ref, |
| 6223 | 6223 | func_src: LazySrcLoc, |
| 6224 | 6224 | call_src: LazySrcLoc, |
| 6225 | modifier: std.builtin.CallOptions.Modifier, | |
| 6225 | modifier: std.builtin.CallModifier, | |
| 6226 | 6226 | ensure_result_used: bool, |
| 6227 | 6227 | uncasted_args: []const Air.Inst.Ref, |
| 6228 | 6228 | bound_arg_src: ?LazySrcLoc, |
| ... | ... | @@ -20751,118 +20751,66 @@ fn zirMulAdd(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air. |
| 20751 | 20751 | }); |
| 20752 | 20752 | } |
| 20753 | 20753 | |
| 20754 | fn resolveCallOptions( | |
| 20755 | sema: *Sema, | |
| 20756 | block: *Block, | |
| 20757 | src: LazySrcLoc, | |
| 20758 | zir_ref: Zir.Inst.Ref, | |
| 20759 | is_comptime: bool, | |
| 20760 | is_nosuspend: bool, | |
| 20761 | func: Air.Inst.Ref, | |
| 20762 | func_src: LazySrcLoc, | |
| 20763 | ) CompileError!std.builtin.CallOptions.Modifier { | |
| 20764 | const call_options_ty = try sema.getBuiltinType("CallOptions"); | |
| 20765 | const air_ref = try sema.resolveInst(zir_ref); | |
| 20766 | const options = try sema.coerce(block, call_options_ty, air_ref, src); | |
| 20767 | ||
| 20768 | const modifier_src = sema.maybeOptionsSrc(block, src, "modifier"); | |
| 20769 | const stack_src = sema.maybeOptionsSrc(block, src, "stack"); | |
| 20770 | ||
| 20771 | const modifier = try sema.fieldVal(block, src, options, "modifier", modifier_src); | |
| 20772 | const modifier_val = try sema.resolveConstValue(block, modifier_src, modifier, "call modifier must be comptime-known"); | |
| 20773 | const wanted_modifier = modifier_val.toEnum(std.builtin.CallOptions.Modifier); | |
| 20754 | fn zirBuiltinCall(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { | |
| 20755 | const tracy = trace(@src()); | |
| 20756 | defer tracy.end(); | |
| 20774 | 20757 | |
| 20775 | const stack = try sema.fieldVal(block, src, options, "stack", stack_src); | |
| 20776 | const stack_val = try sema.resolveConstValue(block, stack_src, stack, "call stack value must be comptime-known"); | |
| 20758 | const inst_data = sema.code.instructions.items(.data)[inst].pl_node; | |
| 20759 | const modifier_src: LazySrcLoc = .{ .node_offset_builtin_call_arg0 = inst_data.src_node }; | |
| 20760 | const func_src: LazySrcLoc = .{ .node_offset_builtin_call_arg1 = inst_data.src_node }; | |
| 20761 | const args_src: LazySrcLoc = .{ .node_offset_builtin_call_arg2 = inst_data.src_node }; | |
| 20762 | const call_src = inst_data.src(); | |
| 20777 | 20763 | |
| 20778 | if (!stack_val.isNull()) { | |
| 20779 | return sema.fail(block, stack_src, "TODO: implement @call with stack", .{}); | |
| 20780 | } | |
| 20764 | const extra = sema.code.extraData(Zir.Inst.BuiltinCall, inst_data.payload_index).data; | |
| 20765 | var func = try sema.resolveInst(extra.callee); | |
| 20781 | 20766 | |
| 20782 | switch (wanted_modifier) { | |
| 20767 | const modifier_ty = try sema.getBuiltinType("CallModifier"); | |
| 20768 | const air_ref = try sema.resolveInst(extra.modifier); | |
| 20769 | const modifier_ref = try sema.coerce(block, modifier_ty, air_ref, modifier_src); | |
| 20770 | const modifier_val = try sema.resolveConstValue(block, modifier_src, modifier_ref, "call modifier must be comptime-known"); | |
| 20771 | var modifier = modifier_val.toEnum(std.builtin.CallModifier); | |
| 20772 | switch (modifier) { | |
| 20783 | 20773 | // These can be upgraded to comptime or nosuspend calls. |
| 20784 | 20774 | .auto, .never_tail, .no_async => { |
| 20785 | if (is_comptime) { | |
| 20786 | if (wanted_modifier == .never_tail) { | |
| 20775 | if (extra.flags.is_comptime) { | |
| 20776 | if (modifier == .never_tail) { | |
| 20787 | 20777 | return sema.fail(block, modifier_src, "unable to perform 'never_tail' call at compile-time", .{}); |
| 20788 | 20778 | } |
| 20789 | return .compile_time; | |
| 20790 | } | |
| 20791 | if (is_nosuspend) { | |
| 20792 | return .no_async; | |
| 20779 | modifier = .compile_time; | |
| 20780 | } else if (extra.flags.is_nosuspend) { | |
| 20781 | modifier = .no_async; | |
| 20793 | 20782 | } |
| 20794 | return wanted_modifier; | |
| 20795 | 20783 | }, |
| 20796 | 20784 | // These can be upgraded to comptime. nosuspend bit can be safely ignored. |
| 20797 | 20785 | .always_inline, .compile_time => { |
| 20798 | 20786 | _ = (try sema.resolveDefinedValue(block, func_src, func)) orelse { |
| 20799 | return sema.fail(block, func_src, "modifier '{s}' requires a comptime-known function", .{@tagName(wanted_modifier)}); | |
| 20787 | return sema.fail(block, func_src, "modifier '{s}' requires a comptime-known function", .{@tagName(modifier)}); | |
| 20800 | 20788 | }; |
| 20801 | 20789 | |
| 20802 | if (is_comptime) { | |
| 20803 | return .compile_time; | |
| 20790 | if (extra.flags.is_comptime) { | |
| 20791 | modifier = .compile_time; | |
| 20804 | 20792 | } |
| 20805 | return wanted_modifier; | |
| 20806 | 20793 | }, |
| 20807 | 20794 | .always_tail => { |
| 20808 | if (is_comptime) { | |
| 20809 | return .compile_time; | |
| 20795 | if (extra.flags.is_comptime) { | |
| 20796 | modifier = .compile_time; | |
| 20810 | 20797 | } |
| 20811 | return wanted_modifier; | |
| 20812 | 20798 | }, |
| 20813 | 20799 | .async_kw => { |
| 20814 | if (is_nosuspend) { | |
| 20800 | if (extra.flags.is_nosuspend) { | |
| 20815 | 20801 | return sema.fail(block, modifier_src, "modifier 'async_kw' cannot be used inside nosuspend block", .{}); |
| 20816 | 20802 | } |
| 20817 | if (is_comptime) { | |
| 20803 | if (extra.flags.is_comptime) { | |
| 20818 | 20804 | return sema.fail(block, modifier_src, "modifier 'async_kw' cannot be used in combination with comptime function call", .{}); |
| 20819 | 20805 | } |
| 20820 | return wanted_modifier; | |
| 20821 | 20806 | }, |
| 20822 | 20807 | .never_inline => { |
| 20823 | if (is_comptime) { | |
| 20808 | if (extra.flags.is_comptime) { | |
| 20824 | 20809 | return sema.fail(block, modifier_src, "unable to perform 'never_inline' call at compile-time", .{}); |
| 20825 | 20810 | } |
| 20826 | return wanted_modifier; | |
| 20827 | 20811 | }, |
| 20828 | 20812 | } |
| 20829 | } | |
| 20830 | ||
| 20831 | fn zirBuiltinCall(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { | |
| 20832 | const tracy = trace(@src()); | |
| 20833 | defer tracy.end(); | |
| 20834 | 20813 | |
| 20835 | const inst_data = sema.code.instructions.items(.data)[inst].pl_node; | |
| 20836 | const options_src: LazySrcLoc = .{ .node_offset_builtin_call_arg0 = inst_data.src_node }; | |
| 20837 | const func_src: LazySrcLoc = .{ .node_offset_builtin_call_arg1 = inst_data.src_node }; | |
| 20838 | const args_src: LazySrcLoc = .{ .node_offset_builtin_call_arg2 = inst_data.src_node }; | |
| 20839 | const call_src = inst_data.src(); | |
| 20840 | ||
| 20841 | const extra = sema.code.extraData(Zir.Inst.BuiltinCall, inst_data.payload_index).data; | |
| 20842 | var func = try sema.resolveInst(extra.callee); | |
| 20843 | const modifier = sema.resolveCallOptions( | |
| 20844 | block, | |
| 20845 | .unneeded, | |
| 20846 | extra.options, | |
| 20847 | extra.flags.is_comptime, | |
| 20848 | extra.flags.is_nosuspend, | |
| 20849 | func, | |
| 20850 | func_src, | |
| 20851 | ) catch |err| switch (err) { | |
| 20852 | error.NeededSourceLocation => { | |
| 20853 | _ = try sema.resolveCallOptions( | |
| 20854 | block, | |
| 20855 | options_src, | |
| 20856 | extra.options, | |
| 20857 | extra.flags.is_comptime, | |
| 20858 | extra.flags.is_nosuspend, | |
| 20859 | func, | |
| 20860 | func_src, | |
| 20861 | ); | |
| 20862 | return error.AnalysisFail; | |
| 20863 | }, | |
| 20864 | else => |e| return e, | |
| 20865 | }; | |
| 20866 | 20814 | const args = try sema.resolveInst(extra.args); |
| 20867 | 20815 | |
| 20868 | 20816 | const args_ty = sema.typeOf(args); |
| ... | ... | @@ -29558,7 +29506,7 @@ pub fn resolveTypeRequiresComptime(sema: *Sema, ty: Type) CompileError!bool { |
| 29558 | 29506 | .address_space, |
| 29559 | 29507 | .float_mode, |
| 29560 | 29508 | .reduce_op, |
| 29561 | .call_options, | |
| 29509 | .modifier, | |
| 29562 | 29510 | .prefetch_options, |
| 29563 | 29511 | .export_options, |
| 29564 | 29512 | .extern_options, |
| ... | ... | @@ -29823,7 +29771,7 @@ pub fn resolveTypeFields(sema: *Sema, ty: Type) CompileError!Type { |
| 29823 | 29771 | .address_space => return sema.getBuiltinType("AddressSpace"), |
| 29824 | 29772 | .float_mode => return sema.getBuiltinType("FloatMode"), |
| 29825 | 29773 | .reduce_op => return sema.getBuiltinType("ReduceOp"), |
| 29826 | .call_options => return sema.getBuiltinType("CallOptions"), | |
| 29774 | .modifier => return sema.getBuiltinType("CallModifier"), | |
| 29827 | 29775 | .prefetch_options => return sema.getBuiltinType("PrefetchOptions"), |
| 29828 | 29776 | |
| 29829 | 29777 | else => return ty, |
| ... | ... | @@ -30841,7 +30789,7 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value { |
| 30841 | 30789 | .address_space, |
| 30842 | 30790 | .float_mode, |
| 30843 | 30791 | .reduce_op, |
| 30844 | .call_options, | |
| 30792 | .modifier, | |
| 30845 | 30793 | .prefetch_options, |
| 30846 | 30794 | .export_options, |
| 30847 | 30795 | .extern_options, |
| ... | ... | @@ -31164,7 +31112,7 @@ pub fn addType(sema: *Sema, ty: Type) !Air.Inst.Ref { |
| 31164 | 31112 | .address_space => return .address_space_type, |
| 31165 | 31113 | .float_mode => return .float_mode_type, |
| 31166 | 31114 | .reduce_op => return .reduce_op_type, |
| 31167 | .call_options => return .call_options_type, | |
| 31115 | .modifier => return .modifier_type, | |
| 31168 | 31116 | .prefetch_options => return .prefetch_options_type, |
| 31169 | 31117 | .export_options => return .export_options_type, |
| 31170 | 31118 | .extern_options => return .extern_options_type, |
| ... | ... | @@ -31557,7 +31505,7 @@ pub fn typeRequiresComptime(sema: *Sema, ty: Type) CompileError!bool { |
| 31557 | 31505 | .address_space, |
| 31558 | 31506 | .float_mode, |
| 31559 | 31507 | .reduce_op, |
| 31560 | .call_options, | |
| 31508 | .modifier, | |
| 31561 | 31509 | .prefetch_options, |
| 31562 | 31510 | .export_options, |
| 31563 | 31511 | .extern_options, |
| ... | ... | @@ -32387,7 +32335,7 @@ fn enumHasInt( |
| 32387 | 32335 | .address_space, |
| 32388 | 32336 | .float_mode, |
| 32389 | 32337 | .reduce_op, |
| 32390 | .call_options, | |
| 32338 | .modifier, | |
| 32391 | 32339 | .prefetch_options, |
| 32392 | 32340 | .export_options, |
| 32393 | 32341 | .extern_options, |
src/TypedValue.zig+1-1| ... | ... | @@ -136,7 +136,7 @@ pub fn print( |
| 136 | 136 | .address_space_type => return writer.writeAll("std.builtin.AddressSpace"), |
| 137 | 137 | .float_mode_type => return writer.writeAll("std.builtin.FloatMode"), |
| 138 | 138 | .reduce_op_type => return writer.writeAll("std.builtin.ReduceOp"), |
| 139 | .call_options_type => return writer.writeAll("std.builtin.CallOptions"), | |
| 139 | .modifier_type => return writer.writeAll("std.builtin.CallModifier"), | |
| 140 | 140 | .prefetch_options_type => return writer.writeAll("std.builtin.PrefetchOptions"), |
| 141 | 141 | .export_options_type => return writer.writeAll("std.builtin.ExportOptions"), |
| 142 | 142 | .extern_options_type => return writer.writeAll("std.builtin.ExternOptions"), |
src/Zir.zig+6-6| ... | ... | @@ -2070,7 +2070,7 @@ pub const Inst = struct { |
| 2070 | 2070 | address_space_type, |
| 2071 | 2071 | float_mode_type, |
| 2072 | 2072 | reduce_op_type, |
| 2073 | call_options_type, | |
| 2073 | modifier_type, | |
| 2074 | 2074 | prefetch_options_type, |
| 2075 | 2075 | export_options_type, |
| 2076 | 2076 | extern_options_type, |
| ... | ... | @@ -2345,9 +2345,9 @@ pub const Inst = struct { |
| 2345 | 2345 | .ty = Type.initTag(.type), |
| 2346 | 2346 | .val = Value.initTag(.reduce_op_type), |
| 2347 | 2347 | }, |
| 2348 | .call_options_type = .{ | |
| 2348 | .modifier_type = .{ | |
| 2349 | 2349 | .ty = Type.initTag(.type), |
| 2350 | .val = Value.initTag(.call_options_type), | |
| 2350 | .val = Value.initTag(.modifier_type), | |
| 2351 | 2351 | }, |
| 2352 | 2352 | .prefetch_options_type = .{ |
| 2353 | 2353 | .ty = Type.initTag(.type), |
| ... | ... | @@ -2832,7 +2832,7 @@ pub const Inst = struct { |
| 2832 | 2832 | callee: Ref, |
| 2833 | 2833 | |
| 2834 | 2834 | pub const Flags = packed struct { |
| 2835 | /// std.builtin.CallOptions.Modifier in packed form | |
| 2835 | /// std.builtin.CallModifier in packed form | |
| 2836 | 2836 | pub const PackedModifier = u3; |
| 2837 | 2837 | pub const PackedArgsLen = u27; |
| 2838 | 2838 | |
| ... | ... | @@ -2844,7 +2844,7 @@ pub const Inst = struct { |
| 2844 | 2844 | comptime { |
| 2845 | 2845 | if (@sizeOf(Flags) != 4 or @bitSizeOf(Flags) != 32) |
| 2846 | 2846 | @compileError("Layout of Call.Flags needs to be updated!"); |
| 2847 | if (@bitSizeOf(std.builtin.CallOptions.Modifier) != @bitSizeOf(PackedModifier)) | |
| 2847 | if (@bitSizeOf(std.builtin.CallModifier) != @bitSizeOf(PackedModifier)) | |
| 2848 | 2848 | @compileError("Call.Flags.PackedModifier needs to be updated!"); |
| 2849 | 2849 | } |
| 2850 | 2850 | }; |
| ... | ... | @@ -2860,7 +2860,7 @@ pub const Inst = struct { |
| 2860 | 2860 | // Note: Flags *must* come first so that unusedResultExpr |
| 2861 | 2861 | // can find it when it goes to modify them. |
| 2862 | 2862 | flags: Flags, |
| 2863 | options: Ref, | |
| 2863 | modifier: Ref, | |
| 2864 | 2864 | callee: Ref, |
| 2865 | 2865 | args: Ref, |
| 2866 | 2866 |
src/arch/aarch64/CodeGen.zig+1-1| ... | ... | @@ -4110,7 +4110,7 @@ fn airFence(self: *Self) !void { |
| 4110 | 4110 | //return self.finishAirBookkeeping(); |
| 4111 | 4111 | } |
| 4112 | 4112 | |
| 4113 | fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallOptions.Modifier) !void { | |
| 4113 | fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallModifier) !void { | |
| 4114 | 4114 | if (modifier == .always_tail) return self.fail("TODO implement tail calls for aarch64", .{}); |
| 4115 | 4115 | const pl_op = self.air.instructions.items(.data)[inst].pl_op; |
| 4116 | 4116 | const callee = pl_op.operand; |
src/arch/arm/CodeGen.zig+1-1| ... | ... | @@ -4097,7 +4097,7 @@ fn airFence(self: *Self) !void { |
| 4097 | 4097 | //return self.finishAirBookkeeping(); |
| 4098 | 4098 | } |
| 4099 | 4099 | |
| 4100 | fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallOptions.Modifier) !void { | |
| 4100 | fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallModifier) !void { | |
| 4101 | 4101 | if (modifier == .always_tail) return self.fail("TODO implement tail calls for arm", .{}); |
| 4102 | 4102 | const pl_op = self.air.instructions.items(.data)[inst].pl_op; |
| 4103 | 4103 | const callee = pl_op.operand; |
src/arch/riscv64/CodeGen.zig+1-1| ... | ... | @@ -1672,7 +1672,7 @@ fn airFence(self: *Self) !void { |
| 1672 | 1672 | //return self.finishAirBookkeeping(); |
| 1673 | 1673 | } |
| 1674 | 1674 | |
| 1675 | fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallOptions.Modifier) !void { | |
| 1675 | fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallModifier) !void { | |
| 1676 | 1676 | if (modifier == .always_tail) return self.fail("TODO implement tail calls for riscv64", .{}); |
| 1677 | 1677 | const pl_op = self.air.instructions.items(.data)[inst].pl_op; |
| 1678 | 1678 | const fn_ty = self.air.typeOf(pl_op.operand); |
src/arch/sparc64/CodeGen.zig+1-1| ... | ... | @@ -1155,7 +1155,7 @@ fn airBreakpoint(self: *Self) !void { |
| 1155 | 1155 | return self.finishAirBookkeeping(); |
| 1156 | 1156 | } |
| 1157 | 1157 | |
| 1158 | fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallOptions.Modifier) !void { | |
| 1158 | fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallModifier) !void { | |
| 1159 | 1159 | if (modifier == .always_tail) return self.fail("TODO implement tail calls for {}", .{self.target.cpu.arch}); |
| 1160 | 1160 | |
| 1161 | 1161 | const pl_op = self.air.instructions.items(.data)[inst].pl_op; |
src/arch/wasm/CodeGen.zig+1-1| ... | ... | @@ -2003,7 +2003,7 @@ fn airRetLoad(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { |
| 2003 | 2003 | return func.finishAir(inst, .none, &.{un_op}); |
| 2004 | 2004 | } |
| 2005 | 2005 | |
| 2006 | fn airCall(func: *CodeGen, inst: Air.Inst.Index, modifier: std.builtin.CallOptions.Modifier) InnerError!void { | |
| 2006 | fn airCall(func: *CodeGen, inst: Air.Inst.Index, modifier: std.builtin.CallModifier) InnerError!void { | |
| 2007 | 2007 | if (modifier == .always_tail) return func.fail("TODO implement tail calls for wasm", .{}); |
| 2008 | 2008 | const pl_op = func.air.instructions.items(.data)[inst].pl_op; |
| 2009 | 2009 | const extra = func.air.extraData(Air.Call, pl_op.payload); |
src/arch/x86_64/CodeGen.zig+1-1| ... | ... | @@ -3899,7 +3899,7 @@ fn airFence(self: *Self) !void { |
| 3899 | 3899 | //return self.finishAirBookkeeping(); |
| 3900 | 3900 | } |
| 3901 | 3901 | |
| 3902 | fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallOptions.Modifier) !void { | |
| 3902 | fn airCall(self: *Self, inst: Air.Inst.Index, modifier: std.builtin.CallModifier) !void { | |
| 3903 | 3903 | if (modifier == .always_tail) return self.fail("TODO implement tail calls for x86_64", .{}); |
| 3904 | 3904 | const pl_op = self.air.instructions.items(.data)[inst].pl_op; |
| 3905 | 3905 | const callee = pl_op.operand; |
src/codegen/c.zig+1-1| ... | ... | @@ -3874,7 +3874,7 @@ fn airSlice(f: *Function, inst: Air.Inst.Index) !CValue { |
| 3874 | 3874 | fn airCall( |
| 3875 | 3875 | f: *Function, |
| 3876 | 3876 | inst: Air.Inst.Index, |
| 3877 | modifier: std.builtin.CallOptions.Modifier, | |
| 3877 | modifier: std.builtin.CallModifier, | |
| 3878 | 3878 | ) !CValue { |
| 3879 | 3879 | // Not even allowed to call panic in a naked function. |
| 3880 | 3880 | if (f.object.dg.decl.ty.fnCallingConvention() == .Naked) return .none; |
src/print_zir.zig+2-2| ... | ... | @@ -801,7 +801,7 @@ const Writer = struct { |
| 801 | 801 | try self.writeFlag(stream, "nosuspend ", extra.flags.is_nosuspend); |
| 802 | 802 | try self.writeFlag(stream, "comptime ", extra.flags.is_comptime); |
| 803 | 803 | |
| 804 | try self.writeInstRef(stream, extra.options); | |
| 804 | try self.writeInstRef(stream, extra.modifier); | |
| 805 | 805 | try stream.writeAll(", "); |
| 806 | 806 | try self.writeInstRef(stream, extra.callee); |
| 807 | 807 | try stream.writeAll(", "); |
| ... | ... | @@ -1170,7 +1170,7 @@ const Writer = struct { |
| 1170 | 1170 | if (extra.data.flags.ensure_result_used) { |
| 1171 | 1171 | try stream.writeAll("nodiscard "); |
| 1172 | 1172 | } |
| 1173 | try stream.print(".{s}, ", .{@tagName(@intToEnum(std.builtin.CallOptions.Modifier, extra.data.flags.packed_modifier))}); | |
| 1173 | try stream.print(".{s}, ", .{@tagName(@intToEnum(std.builtin.CallModifier, extra.data.flags.packed_modifier))}); | |
| 1174 | 1174 | try self.writeInstRef(stream, extra.data.callee); |
| 1175 | 1175 | try stream.writeAll(", ["); |
| 1176 | 1176 |
src/type.zig+22-22| ... | ... | @@ -129,7 +129,6 @@ pub const Type = extern union { |
| 129 | 129 | .empty_struct, |
| 130 | 130 | .empty_struct_literal, |
| 131 | 131 | .@"struct", |
| 132 | .call_options, | |
| 133 | 132 | .prefetch_options, |
| 134 | 133 | .export_options, |
| 135 | 134 | .extern_options, |
| ... | ... | @@ -147,6 +146,7 @@ pub const Type = extern union { |
| 147 | 146 | .address_space, |
| 148 | 147 | .float_mode, |
| 149 | 148 | .reduce_op, |
| 149 | .modifier, | |
| 150 | 150 | => return .Enum, |
| 151 | 151 | |
| 152 | 152 | .@"union", |
| ... | ... | @@ -885,7 +885,6 @@ pub const Type = extern union { |
| 885 | 885 | |
| 886 | 886 | // we can't compare these based on tags because it wouldn't detect if, |
| 887 | 887 | // for example, a was resolved into .@"struct" but b was one of these tags. |
| 888 | .call_options, | |
| 889 | 888 | .prefetch_options, |
| 890 | 889 | .export_options, |
| 891 | 890 | .extern_options, |
| ... | ... | @@ -914,6 +913,7 @@ pub const Type = extern union { |
| 914 | 913 | .address_space, |
| 915 | 914 | .float_mode, |
| 916 | 915 | .reduce_op, |
| 916 | .modifier, | |
| 917 | 917 | => unreachable, // needed to resolve the type before now |
| 918 | 918 | |
| 919 | 919 | .@"union", .union_safety_tagged, .union_tagged => { |
| ... | ... | @@ -1194,7 +1194,6 @@ pub const Type = extern union { |
| 1194 | 1194 | }, |
| 1195 | 1195 | |
| 1196 | 1196 | // we can't hash these based on tags because they wouldn't match the expanded version. |
| 1197 | .call_options, | |
| 1198 | 1197 | .prefetch_options, |
| 1199 | 1198 | .export_options, |
| 1200 | 1199 | .extern_options, |
| ... | ... | @@ -1222,6 +1221,7 @@ pub const Type = extern union { |
| 1222 | 1221 | .address_space, |
| 1223 | 1222 | .float_mode, |
| 1224 | 1223 | .reduce_op, |
| 1224 | .modifier, | |
| 1225 | 1225 | => unreachable, // needed to resolve the type before now |
| 1226 | 1226 | |
| 1227 | 1227 | .@"union", .union_safety_tagged, .union_tagged => { |
| ... | ... | @@ -1333,7 +1333,7 @@ pub const Type = extern union { |
| 1333 | 1333 | .address_space, |
| 1334 | 1334 | .float_mode, |
| 1335 | 1335 | .reduce_op, |
| 1336 | .call_options, | |
| 1336 | .modifier, | |
| 1337 | 1337 | .prefetch_options, |
| 1338 | 1338 | .export_options, |
| 1339 | 1339 | .extern_options, |
| ... | ... | @@ -1665,7 +1665,7 @@ pub const Type = extern union { |
| 1665 | 1665 | .address_space => return writer.writeAll("std.builtin.AddressSpace"), |
| 1666 | 1666 | .float_mode => return writer.writeAll("std.builtin.FloatMode"), |
| 1667 | 1667 | .reduce_op => return writer.writeAll("std.builtin.ReduceOp"), |
| 1668 | .call_options => return writer.writeAll("std.builtin.CallOptions"), | |
| 1668 | .modifier => return writer.writeAll("std.builtin.CallModifier"), | |
| 1669 | 1669 | .prefetch_options => return writer.writeAll("std.builtin.PrefetchOptions"), |
| 1670 | 1670 | .export_options => return writer.writeAll("std.builtin.ExportOptions"), |
| 1671 | 1671 | .extern_options => return writer.writeAll("std.builtin.ExternOptions"), |
| ... | ... | @@ -1943,7 +1943,7 @@ pub const Type = extern union { |
| 1943 | 1943 | .address_space => unreachable, |
| 1944 | 1944 | .float_mode => unreachable, |
| 1945 | 1945 | .reduce_op => unreachable, |
| 1946 | .call_options => unreachable, | |
| 1946 | .modifier => unreachable, | |
| 1947 | 1947 | .prefetch_options => unreachable, |
| 1948 | 1948 | .export_options => unreachable, |
| 1949 | 1949 | .extern_options => unreachable, |
| ... | ... | @@ -2311,7 +2311,7 @@ pub const Type = extern union { |
| 2311 | 2311 | .address_space => return Value.initTag(.address_space_type), |
| 2312 | 2312 | .float_mode => return Value.initTag(.float_mode_type), |
| 2313 | 2313 | .reduce_op => return Value.initTag(.reduce_op_type), |
| 2314 | .call_options => return Value.initTag(.call_options_type), | |
| 2314 | .modifier => return Value.initTag(.modifier_type), | |
| 2315 | 2315 | .prefetch_options => return Value.initTag(.prefetch_options_type), |
| 2316 | 2316 | .export_options => return Value.initTag(.export_options_type), |
| 2317 | 2317 | .extern_options => return Value.initTag(.extern_options_type), |
| ... | ... | @@ -2385,7 +2385,7 @@ pub const Type = extern union { |
| 2385 | 2385 | .address_space, |
| 2386 | 2386 | .float_mode, |
| 2387 | 2387 | .reduce_op, |
| 2388 | .call_options, | |
| 2388 | .modifier, | |
| 2389 | 2389 | .prefetch_options, |
| 2390 | 2390 | .export_options, |
| 2391 | 2391 | .extern_options, |
| ... | ... | @@ -2631,7 +2631,7 @@ pub const Type = extern union { |
| 2631 | 2631 | .address_space, |
| 2632 | 2632 | .float_mode, |
| 2633 | 2633 | .reduce_op, |
| 2634 | .call_options, | |
| 2634 | .modifier, | |
| 2635 | 2635 | .prefetch_options, |
| 2636 | 2636 | .export_options, |
| 2637 | 2637 | .extern_options, |
| ... | ... | @@ -2873,7 +2873,7 @@ pub const Type = extern union { |
| 2873 | 2873 | .address_space, |
| 2874 | 2874 | .float_mode, |
| 2875 | 2875 | .reduce_op, |
| 2876 | .call_options, | |
| 2876 | .modifier, | |
| 2877 | 2877 | .prefetch_options, |
| 2878 | 2878 | .export_options, |
| 2879 | 2879 | .extern_options, |
| ... | ... | @@ -3257,7 +3257,7 @@ pub const Type = extern union { |
| 3257 | 3257 | .inferred_alloc_mut => unreachable, |
| 3258 | 3258 | .var_args_param => unreachable, |
| 3259 | 3259 | .generic_poison => unreachable, |
| 3260 | .call_options => unreachable, // missing call to resolveTypeFields | |
| 3260 | .modifier => unreachable, // missing call to resolveTypeFields | |
| 3261 | 3261 | .prefetch_options => unreachable, // missing call to resolveTypeFields |
| 3262 | 3262 | .export_options => unreachable, // missing call to resolveTypeFields |
| 3263 | 3263 | .extern_options => unreachable, // missing call to resolveTypeFields |
| ... | ... | @@ -3753,7 +3753,7 @@ pub const Type = extern union { |
| 3753 | 3753 | .address_space, |
| 3754 | 3754 | .float_mode, |
| 3755 | 3755 | .reduce_op, |
| 3756 | .call_options, | |
| 3756 | .modifier, | |
| 3757 | 3757 | .prefetch_options, |
| 3758 | 3758 | .export_options, |
| 3759 | 3759 | .extern_options, |
| ... | ... | @@ -4279,7 +4279,7 @@ pub const Type = extern union { |
| 4279 | 4279 | .address_space, |
| 4280 | 4280 | .float_mode, |
| 4281 | 4281 | .reduce_op, |
| 4282 | .call_options, | |
| 4282 | .modifier, | |
| 4283 | 4283 | .prefetch_options, |
| 4284 | 4284 | .export_options, |
| 4285 | 4285 | .extern_options, |
| ... | ... | @@ -4306,7 +4306,7 @@ pub const Type = extern union { |
| 4306 | 4306 | .address_space, |
| 4307 | 4307 | .float_mode, |
| 4308 | 4308 | .reduce_op, |
| 4309 | .call_options, | |
| 4309 | .modifier, | |
| 4310 | 4310 | .prefetch_options, |
| 4311 | 4311 | .export_options, |
| 4312 | 4312 | .extern_options, |
| ... | ... | @@ -4990,7 +4990,7 @@ pub const Type = extern union { |
| 4990 | 4990 | .address_space, |
| 4991 | 4991 | .float_mode, |
| 4992 | 4992 | .reduce_op, |
| 4993 | .call_options, | |
| 4993 | .modifier, | |
| 4994 | 4994 | .prefetch_options, |
| 4995 | 4995 | .export_options, |
| 4996 | 4996 | .extern_options, |
| ... | ... | @@ -5165,7 +5165,7 @@ pub const Type = extern union { |
| 5165 | 5165 | .address_space, |
| 5166 | 5166 | .float_mode, |
| 5167 | 5167 | .reduce_op, |
| 5168 | .call_options, | |
| 5168 | .modifier, | |
| 5169 | 5169 | .prefetch_options, |
| 5170 | 5170 | .export_options, |
| 5171 | 5171 | .extern_options, |
| ... | ... | @@ -5483,7 +5483,7 @@ pub const Type = extern union { |
| 5483 | 5483 | .address_space, |
| 5484 | 5484 | .float_mode, |
| 5485 | 5485 | .reduce_op, |
| 5486 | .call_options, | |
| 5486 | .modifier, | |
| 5487 | 5487 | .prefetch_options, |
| 5488 | 5488 | .export_options, |
| 5489 | 5489 | .extern_options, |
| ... | ... | @@ -5565,7 +5565,7 @@ pub const Type = extern union { |
| 5565 | 5565 | .address_space, |
| 5566 | 5566 | .float_mode, |
| 5567 | 5567 | .reduce_op, |
| 5568 | .call_options, | |
| 5568 | .modifier, | |
| 5569 | 5569 | .prefetch_options, |
| 5570 | 5570 | .export_options, |
| 5571 | 5571 | .extern_options, |
| ... | ... | @@ -5878,7 +5878,7 @@ pub const Type = extern union { |
| 5878 | 5878 | .address_space, |
| 5879 | 5879 | .float_mode, |
| 5880 | 5880 | .reduce_op, |
| 5881 | .call_options, | |
| 5881 | .modifier, | |
| 5882 | 5882 | .prefetch_options, |
| 5883 | 5883 | .export_options, |
| 5884 | 5884 | .extern_options, |
| ... | ... | @@ -5926,7 +5926,7 @@ pub const Type = extern union { |
| 5926 | 5926 | .address_space, |
| 5927 | 5927 | .float_mode, |
| 5928 | 5928 | .reduce_op, |
| 5929 | .call_options, | |
| 5929 | .modifier, | |
| 5930 | 5930 | .prefetch_options, |
| 5931 | 5931 | .export_options, |
| 5932 | 5932 | .extern_options, |
| ... | ... | @@ -5991,7 +5991,7 @@ pub const Type = extern union { |
| 5991 | 5991 | address_space, |
| 5992 | 5992 | float_mode, |
| 5993 | 5993 | reduce_op, |
| 5994 | call_options, | |
| 5994 | modifier, | |
| 5995 | 5995 | prefetch_options, |
| 5996 | 5996 | export_options, |
| 5997 | 5997 | extern_options, |
| ... | ... | @@ -6131,7 +6131,7 @@ pub const Type = extern union { |
| 6131 | 6131 | .address_space, |
| 6132 | 6132 | .float_mode, |
| 6133 | 6133 | .reduce_op, |
| 6134 | .call_options, | |
| 6134 | .modifier, | |
| 6135 | 6135 | .prefetch_options, |
| 6136 | 6136 | .export_options, |
| 6137 | 6137 | .extern_options, |
src/value.zig+5-5| ... | ... | @@ -71,7 +71,7 @@ pub const Value = extern union { |
| 71 | 71 | address_space_type, |
| 72 | 72 | float_mode_type, |
| 73 | 73 | reduce_op_type, |
| 74 | call_options_type, | |
| 74 | modifier_type, | |
| 75 | 75 | prefetch_options_type, |
| 76 | 76 | export_options_type, |
| 77 | 77 | extern_options_type, |
| ... | ... | @@ -264,7 +264,7 @@ pub const Value = extern union { |
| 264 | 264 | .address_space_type, |
| 265 | 265 | .float_mode_type, |
| 266 | 266 | .reduce_op_type, |
| 267 | .call_options_type, | |
| 267 | .modifier_type, | |
| 268 | 268 | .prefetch_options_type, |
| 269 | 269 | .export_options_type, |
| 270 | 270 | .extern_options_type, |
| ... | ... | @@ -467,7 +467,7 @@ pub const Value = extern union { |
| 467 | 467 | .address_space_type, |
| 468 | 468 | .float_mode_type, |
| 469 | 469 | .reduce_op_type, |
| 470 | .call_options_type, | |
| 470 | .modifier_type, | |
| 471 | 471 | .prefetch_options_type, |
| 472 | 472 | .export_options_type, |
| 473 | 473 | .extern_options_type, |
| ... | ... | @@ -723,7 +723,7 @@ pub const Value = extern union { |
| 723 | 723 | .address_space_type => return out_stream.writeAll("std.builtin.AddressSpace"), |
| 724 | 724 | .float_mode_type => return out_stream.writeAll("std.builtin.FloatMode"), |
| 725 | 725 | .reduce_op_type => return out_stream.writeAll("std.builtin.ReduceOp"), |
| 726 | .call_options_type => return out_stream.writeAll("std.builtin.CallOptions"), | |
| 726 | .modifier_type => return out_stream.writeAll("std.builtin.CallModifier"), | |
| 727 | 727 | .prefetch_options_type => return out_stream.writeAll("std.builtin.PrefetchOptions"), |
| 728 | 728 | .export_options_type => return out_stream.writeAll("std.builtin.ExportOptions"), |
| 729 | 729 | .extern_options_type => return out_stream.writeAll("std.builtin.ExternOptions"), |
| ... | ... | @@ -963,7 +963,7 @@ pub const Value = extern union { |
| 963 | 963 | .address_space_type => Type.initTag(.address_space), |
| 964 | 964 | .float_mode_type => Type.initTag(.float_mode), |
| 965 | 965 | .reduce_op_type => Type.initTag(.reduce_op), |
| 966 | .call_options_type => Type.initTag(.call_options), | |
| 966 | .modifier_type => Type.initTag(.modifier), | |
| 967 | 967 | .prefetch_options_type => Type.initTag(.prefetch_options), |
| 968 | 968 | .export_options_type => Type.initTag(.export_options), |
| 969 | 969 | .extern_options_type => Type.initTag(.extern_options), |