diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2024-12-05 15:24:25 +0100 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2025-02-23 04:08:58 +0100 |
| commit | e11ac026623f8d0f4895cddd6a9bf3c03a866c6d (patch) | |
| tree | 888c6b88f61d972ef89b898811dcef0b9e83bde4 /src/codegen/c.zig | |
| parent | 6ba785584a163c5ba5b6f0c6fea65be645e157b4 (diff) | |
| download | zig-e11ac026623f8d0f4895cddd6a9bf3c03a866c6d.tar.gz zig-e11ac026623f8d0f4895cddd6a9bf3c03a866c6d.zip | |
cbe: Implement support for -fno-builtin and @disableIntrinsics().
Diffstat (limited to 'src/codegen/c.zig')
| -rw-r--r-- | src/codegen/c.zig | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 5012f7e0e8..cd4573375d 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -1859,8 +1859,17 @@ pub const DeclGen = struct { else => unreachable, } } - if (fn_val.getFunction(zcu)) |func| if (func.analysisUnordered(ip).branch_hint == .cold) - try w.writeAll("zig_cold "); + + if (fn_val.getFunction(zcu)) |func| { + const func_analysis = func.analysisUnordered(ip); + + if (func_analysis.branch_hint == .cold) + try w.writeAll("zig_cold "); + + if (kind == .complete and func_analysis.disable_intrinsics or dg.mod.no_builtin) + try w.writeAll("zig_no_builtin "); + } + if (fn_info.return_type == .noreturn_type) try w.writeAll("zig_noreturn "); var trailing = try renderTypePrefix(dg.pass, &dg.ctype_pool, zcu, w, fn_ctype, .suffix, .{}); |
