Skip to content

Commit f1ab460

Browse files
Print error
1 parent 3290f90 commit f1ab460

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

source/numem/core/hooks.d

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,15 @@ void* nu_memset(return scope void* dst, ubyte value, size_t bytes) @nogc nothrow
175175
export
176176
extern(C)
177177
void nu_fatal(const(char)[] errMsg) @nogc nothrow @system pure @weak {
178+
pragma(mangle, "printf")
179+
extern extern(C) void printf(const(char)*, ...) @nogc nothrow @system pure;
180+
pragma(mangle, "abort")
181+
extern extern(C) void abort() @nogc nothrow @system pure;
182+
183+
// Print to stderr
184+
printf("fatal error: %.*s\n", cast(int)errMsg.length, errMsg.ptr);
185+
186+
// Debugger trap
178187
debug {
179188
version(LDC) {
180189
import ldc.intrinsics : llvm_debugtrap;
@@ -197,12 +206,7 @@ void nu_fatal(const(char)[] errMsg) @nogc nothrow @system pure @weak {
197206
}
198207
}
199208

200-
pragma(mangle, "printf")
201-
extern extern(C) int printf(const(char)*, ...) @nogc nothrow @system pure;
202-
pragma(mangle, "abort")
203-
extern extern(C) void abort() @nogc nothrow @system pure;
204-
205-
printf("%.*s", cast(int)errMsg.length, errMsg.ptr);
209+
// Final abort.
206210
abort();
207211
}
208212

0 commit comments

Comments
 (0)