aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/c.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2022-10-04 18:32:03 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2022-10-25 05:11:28 -0400
commitab024d3524f60c691221f6c838d6fe340c7c7cd7 (patch)
tree0100b621d65e6378f119c213cad6cef3829d70f6 /src/codegen/c.zig
parent458233a68478fae94c340b7f1814efde493ac4d7 (diff)
downloadzig-ab024d3524f60c691221f6c838d6fe340c7c7cd7.tar.gz
zig-ab024d3524f60c691221f6c838d6fe340c7c7cd7.zip
c: fix undefined tests in ReleaseSafe
Diffstat (limited to 'src/codegen/c.zig')
-rw-r--r--src/codegen/c.zig21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index d6584d75ae..704e8a1391 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -2279,16 +2279,17 @@ fn airBoolToInt(f: *Function, inst: Air.Inst.Index) !CValue {
}
fn airStoreUndefined(f: *Function, dest_ptr: CValue) !CValue {
- const is_debug_build = f.object.dg.module.optimizeMode() == .Debug;
- if (!is_debug_build)
- return CValue.none;
-
- const writer = f.object.writer();
- try writer.writeAll("memset(");
- try f.writeCValue(writer, dest_ptr);
- try writer.writeAll(", 0xaa, sizeof(");
- try f.writeCValueDeref(writer, dest_ptr);
- try writer.writeAll("));\n");
+ switch (f.object.dg.module.optimizeMode()) {
+ .Debug, .ReleaseSafe => {
+ const writer = f.object.writer();
+ try writer.writeAll("memset(");
+ try f.writeCValue(writer, dest_ptr);
+ try writer.writeAll(", 0xaa, sizeof(");
+ try f.writeCValueDeref(writer, dest_ptr);
+ try writer.writeAll("));\n");
+ },
+ .ReleaseFast, .ReleaseSmall => {},
+ }
return CValue.none;
}