1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

builtin: move v_segmentation_fault_handler to builtin.c.v, make it more informative

This commit is contained in:
Delyan Angelov 2022-11-27 11:40:23 +02:00
parent fdbd40d806
commit 73675dca87
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
2 changed files with 15 additions and 11 deletions

View File

@ -11,6 +11,21 @@ fn vhalt() {
for {}
}
[markused]
fn v_segmentation_fault_handler(signal_number int) {
$if freestanding {
eprintln('signal 11: segmentation fault')
} $else {
C.fprintf(C.stderr, c'signal %d: segmentation fault\n', signal_number)
}
$if use_libbacktrace ? {
eprint_libbacktrace(1)
} $else {
print_backtrace()
}
exit(128 + signal_number)
}
// exit terminates execution immediately and returns exit `code` to the shell.
[noreturn]
pub fn exit(code int) {

View File

@ -133,14 +133,3 @@ pub:
arg string
kind AttributeKind
}
[markused]
fn v_segmentation_fault_handler(signal int) {
eprintln('signal 11: segmentation fault')
$if use_libbacktrace ? {
eprint_libbacktrace(1)
} $else {
print_backtrace()
}
exit(128 + 11)
}