From 25874747174da2b0e77b3b888d0f5a13aa1a317e Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 14 Apr 2022 10:12:45 -0700 Subject: stage2: progress towards stage3 * The `@bitCast` workaround is removed in favor of `@ptrCast` properly doing element casting for slice element types. This required an enhancement both to stage1 and stage2. * stage1 incorrectly accepts `.{}` instead of `{}`. stage2 code that abused this is fixed. * Make some parameters comptime to support functions in switch expressions (as opposed to making them function pointers). * Avoid relying on local temporaries being mutable. * Workarounds for when stage1 and stage2 disagree on function pointer types. * Workaround recursive formatting bug with a `@panic("TODO")`. * Remove unreachable `else` prongs for some inferred error sets. All in effort towards #89. --- src/Module.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/Module.zig') diff --git a/src/Module.zig b/src/Module.zig index 83252c76ad..53c72ccec2 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -4593,7 +4593,7 @@ pub fn clearDecl( .c => .{ .c = {} }, .wasm => .{ .wasm = link.File.Wasm.FnData.empty }, .spirv => .{ .spirv = .{} }, - .nvptx => .{ .nvptx = .{} }, + .nvptx => .{ .nvptx = {} }, }; } if (decl.getInnerNamespace()) |namespace| { @@ -4975,7 +4975,7 @@ pub fn allocateNewDecl( .c => .{ .c = {} }, .wasm => .{ .wasm = link.File.Wasm.FnData.empty }, .spirv => .{ .spirv = .{} }, - .nvptx => .{ .nvptx = .{} }, + .nvptx => .{ .nvptx = {} }, }, .generation = 0, .is_pub = false, -- cgit v1.2.3