mirror of
https://github.com/ziglang/zig.git
synced 2024-12-03 17:50:13 +00:00
fix still calling std.builtin.panic sometimes
This commit is contained in:
parent
1b491e640d
commit
db8c074476
@ -770,7 +770,7 @@ pub const panic: PanicFn = if (@hasDecl(root, "panic"))
|
|||||||
else if (@hasDecl(root, "os") and @hasDecl(root.os, "panic"))
|
else if (@hasDecl(root, "os") and @hasDecl(root.os, "panic"))
|
||||||
root.os.panic
|
root.os.panic
|
||||||
else
|
else
|
||||||
std.debug.defaultPanic;
|
Panic.call;
|
||||||
|
|
||||||
/// This namespace is used by the Zig compiler to emit various kinds of safety
|
/// This namespace is used by the Zig compiler to emit various kinds of safety
|
||||||
/// panics. These can be overridden by making a public `Panic` namespace in the
|
/// panics. These can be overridden by making a public `Panic` namespace in the
|
||||||
|
@ -27639,7 +27639,7 @@ fn prepareSimplePanic(sema: *Sema, block: *Block, src: LazySrcLoc) !void {
|
|||||||
const zcu = pt.zcu;
|
const zcu = pt.zcu;
|
||||||
|
|
||||||
if (zcu.panic_func_index == .none) {
|
if (zcu.panic_func_index == .none) {
|
||||||
const fn_ref = try sema.analyzeNavVal(block, src, try pt.getBuiltinNav("panic"));
|
const fn_ref = try sema.getBuiltinInnerAsInst(block, src, "Panic", "call");
|
||||||
const fn_val = try sema.resolveConstValue(block, src, fn_ref, .{
|
const fn_val = try sema.resolveConstValue(block, src, fn_ref, .{
|
||||||
.needed_comptime_reason = "panic handler must be comptime-known",
|
.needed_comptime_reason = "panic handler must be comptime-known",
|
||||||
});
|
});
|
||||||
|
@ -2918,8 +2918,9 @@ pub fn addGlobalAssembly(zcu: *Zcu, cau: InternPool.Cau.Index, source: []const u
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub const Feature = enum {
|
pub const Feature = enum {
|
||||||
/// When this feature is enabled, Sema will emit calls to `std.builtin.panic`
|
/// When this feature is enabled, Sema will emit calls to
|
||||||
/// for things like safety checks and unreachables. Otherwise traps will be emitted.
|
/// `std.builtin.Panic` functions for things like safety checks and
|
||||||
|
/// unreachables. Otherwise traps will be emitted.
|
||||||
panic_fn,
|
panic_fn,
|
||||||
/// When this feature is enabled, Sema will insert tracer functions for gathering a stack
|
/// When this feature is enabled, Sema will insert tracer functions for gathering a stack
|
||||||
/// trace for error returns.
|
/// trace for error returns.
|
||||||
|
Loading…
Reference in New Issue
Block a user