aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/c.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-02-28 13:34:21 +0200
committerAndrew Kelley <andrew@ziglang.org>2022-02-28 13:09:14 -0700
commit90bce11f62aa2f246b9bce5bc49069a3faf7ec9a (patch)
tree1489691423543c9d3d5c65dcefa7c8cd6ae59354 /src/codegen/c.zig
parent2682b41da54e9b652dc570140d52f85418d6b89d (diff)
downloadzig-90bce11f62aa2f246b9bce5bc49069a3faf7ec9a.tar.gz
zig-90bce11f62aa2f246b9bce5bc49069a3faf7ec9a.zip
stage2: implement `@frameAddress`
Diffstat (limited to 'src/codegen/c.zig')
-rw-r--r--src/codegen/c.zig7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index f09acaa47c..331673cc55 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -1757,6 +1757,8 @@ fn genBody(f: *Function, body: []const Air.Inst.Index) error{ AnalysisFail, OutO
.wrap_errunion_payload => try airWrapErrUnionPay(f, inst),
.wrap_errunion_err => try airWrapErrUnionErr(f, inst),
.errunion_payload_ptr_set => try airErrUnionPayloadPtrSet(f, inst),
+
+ .frame_address => try airFrameAddress(f, inst),
// zig fmt: on
};
switch (result_value) {
@@ -3198,6 +3200,11 @@ fn airErrUnionPayloadPtrSet(f: *Function, inst: Air.Inst.Index) !CValue {
return f.fail("TODO: C backend: implement airErrUnionPayloadPtrSet", .{});
}
+fn airFrameAddress(f: *Function, inst: Air.Inst.Index) !CValue {
+ _ = inst;
+ return f.fail("TODO: C backend: implement airFrameAddress", .{});
+}
+
fn airWrapErrUnionPay(f: *Function, inst: Air.Inst.Index) !CValue {
if (f.liveness.isUnused(inst))
return CValue.none;