make err fails more clear
This commit is contained in:
parent
0d5af28043
commit
78cd23907e
@ -16,7 +16,7 @@ B type_c1(B t, B x) {
|
|||||||
else if (isMd1(x)) r = 4;
|
else if (isMd1(x)) r = 4;
|
||||||
else if (isMd2(x)) r = 5;
|
else if (isMd2(x)) r = 5;
|
||||||
else if (isNsp(x)) r = 6;
|
else if (isNsp(x)) r = 6;
|
||||||
if (r==-1) { print(x); err(": getting type"); }
|
if (RARE(r==-1)) { print(x); err(": getting type"); }
|
||||||
decR(x);
|
decR(x);
|
||||||
return m_i32(r);
|
return m_i32(r);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,8 +6,12 @@
|
|||||||
|
|
||||||
NORETURN NOINLINE void err(char* s) {
|
NORETURN NOINLINE void err(char* s) {
|
||||||
puts(s); fflush(stdout);
|
puts(s); fflush(stdout);
|
||||||
print_vmStack();
|
vm_pstLive(); fflush(stdout);
|
||||||
__builtin_trap();
|
print_vmStack(); fflush(stdout);
|
||||||
|
puts("CBQN interpreter entered unexpected state, exiting.");
|
||||||
|
#ifdef DEBUG
|
||||||
|
__builtin_trap();
|
||||||
|
#endif
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,6 +8,7 @@ static void mm_visitP(void* x);
|
|||||||
NORETURN void bqn_exit(i32 code);
|
NORETURN void bqn_exit(i32 code);
|
||||||
u64 mm_heapUsed();
|
u64 mm_heapUsed();
|
||||||
void printAllocStats();
|
void printAllocStats();
|
||||||
|
void vm_pstLive();
|
||||||
|
|
||||||
|
|
||||||
#ifndef MAP_NORESERVE
|
#ifndef MAP_NORESERVE
|
||||||
|
|||||||
@ -11,6 +11,7 @@
|
|||||||
#include "../utils/hash.c"
|
#include "../utils/hash.c"
|
||||||
#include "../utils/utf.c"
|
#include "../utils/utf.c"
|
||||||
#include "../utils/file.c"
|
#include "../utils/file.c"
|
||||||
|
#include "../utils/mut.c"
|
||||||
#include "../builtins/fns.c"
|
#include "../builtins/fns.c"
|
||||||
#include "../builtins/sfns.c"
|
#include "../builtins/sfns.c"
|
||||||
#include "../builtins/sysfn.c"
|
#include "../builtins/sysfn.c"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user