Function supportsUnwinding [src]
Tells whether unwinding for this target is implemented here in the Zig
standard library.
See also Dwarf.abi.supportsUnwinding which tells whether Dwarf supports
unwinding on that target in theory.
Prototype
pub fn supportsUnwinding(target: *const std.Target) bool
Parameters
target: *const std.Target
Source
pub fn supportsUnwinding(target: *const std.Target) bool {
return switch (target.cpu.arch) {
.x86 => switch (target.os.tag) {
.linux, .netbsd, .solaris, .illumos => true,
else => false,
},
.x86_64 => switch (target.os.tag) {
.linux, .netbsd, .freebsd, .openbsd, .macos, .ios, .solaris, .illumos => true,
else => false,
},
.arm, .armeb, .thumb, .thumbeb => switch (target.os.tag) {
.linux => true,
else => false,
},
.aarch64, .aarch64_be => switch (target.os.tag) {
.linux, .netbsd, .freebsd, .macos, .ios => true,
else => false,
},
// Unwinding is possible on other targets but this implementation does
// not support them...yet!
else => false,
};
}