diff options
| author | mlugg <mlugg@mlugg.co.uk> | 2023-03-17 02:40:47 +0000 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-03-17 15:55:02 -0400 |
| commit | 71e873703ffc49138d95cb66636856062341c420 (patch) | |
| tree | 420e5df26dce2a83d65fb6a26d6268264c47fde4 /src/Sema.zig | |
| parent | 9f2aa3fbeec451021837ca6bca2baa47302f0468 (diff) | |
| download | zig-71e873703ffc49138d95cb66636856062341c420.tar.gz zig-71e873703ffc49138d95cb66636856062341c420.zip | |
Sema: make @returnAddress return 0 at comptime
See also #14938.
Resolves: #14931
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index cdbd8f8b41..0afce47e76 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -15454,9 +15454,13 @@ fn zirRetAddr( block: *Block, extended: Zir.Inst.Extended.InstData, ) CompileError!Air.Inst.Ref { - const src = LazySrcLoc.nodeOffset(@bitCast(i32, extended.operand)); - try sema.requireRuntimeBlock(block, src, null); - return try block.addNoOp(.ret_addr); + _ = extended; + if (block.is_comptime) { + // TODO: we could give a meaningful lazy value here. #14938 + return sema.addIntUnsigned(Type.usize, 0); + } else { + return block.addNoOp(.ret_addr); + } } fn zirFrameAddress( |
