158 lines
2.9 KiB
Zig
158 lines
2.9 KiB
Zig
const lib = @import("lib.zig");
|
|
const llvm = @import("LLVM.zig");
|
|
const converter = @import("converter.zig");
|
|
const Arena = lib.Arena;
|
|
|
|
pub const panic = struct {
|
|
const abort = lib.os.abort;
|
|
pub fn call(_: []const u8, _: ?usize) noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn sentinelMismatch(_: anytype, _: anytype) noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn unwrapError(_: anyerror) noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn outOfBounds(_: usize, _: usize) noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn startGreaterThanEnd(_: usize, _: usize) noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn inactiveUnionField(_: anytype, _: anytype) noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn reachedUnreachable() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn unwrapNull() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn castToNull() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn incorrectAlignment() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn invalidErrorCode() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn castTruncatedData() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn negativeToUnsigned() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn integerOverflow() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn shlOverflow() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn shrOverflow() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn divideByZero() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn exactDivisionRemainder() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn integerPartOutOfBounds() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn corruptSwitch() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn shiftRhsTooBig() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn invalidEnumValue() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn forLenMismatch() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn memcpyLenMismatch() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn memcpyAlias() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
|
|
pub fn noreturnReturned() noreturn {
|
|
@branchHint(.cold);
|
|
abort();
|
|
}
|
|
};
|
|
|
|
var global_persistent_arena: *Arena = undefined;
|
|
|
|
pub fn main() callconv(.C) c_int {
|
|
return 0;
|
|
}
|
|
|
|
comptime {
|
|
if (!lib.is_test) {
|
|
@export(&main, .{
|
|
.name = "main",
|
|
});
|
|
}
|
|
}
|
|
|
|
test {
|
|
_ = lib;
|
|
_ = llvm;
|
|
_ = converter;
|
|
}
|