mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-03 00:24:34 +00:00
add basic roc_dbg impl to c platforms
This commit is contained in:
parent
3e66254b25
commit
88106d1659
8 changed files with 32 additions and 6 deletions
|
@ -32,7 +32,7 @@ pub extern "C" fn rust_main() -> i32 {
|
|||
println!("Record was: {:?}", outer);
|
||||
|
||||
// Exit code
|
||||
0
|
||||
std::process::exit(0);
|
||||
}
|
||||
|
||||
// Externs required by roc_std and by the Roc app
|
||||
|
|
|
@ -275,6 +275,12 @@ __attribute__((noreturn)) void roc_panic(struct RocStr *msg, unsigned int tag_id
|
|||
longjmp(exception_buffer, 1);
|
||||
}
|
||||
|
||||
void roc_dbg(struct RocStr *loc, struct RocStr *msg) {
|
||||
char* loc_bytes = is_small_str(*loc) ? (char*)loc : (char*)loc->bytes;
|
||||
char* msg_bytes = is_small_str(*msg) ? (char*)msg : (char*)msg->bytes;
|
||||
fprintf(stderr, "[%s] %s\n", loc_bytes, msg_bytes);
|
||||
}
|
||||
|
||||
extern void roc__programForHost_1__InterpolateString_caller(struct RocStr *name, char *closure_data, struct RocStr *ret);
|
||||
|
||||
extern void roc__programForHost_1__MulArrByScalar_caller(struct RocListI32 *arr, int32_t *scalar, char *closure_data, struct RocListI32 *ret);
|
||||
|
|
|
@ -27,6 +27,10 @@ void roc_panic(void *ptr, unsigned int alignment)
|
|||
napi_throw_error(napi_global_env, NULL, (char *)ptr);
|
||||
}
|
||||
|
||||
void roc_dbg(char* loc, char* msg) {
|
||||
fprintf(stderr, "[%s] %s\n", loc, msg);
|
||||
}
|
||||
|
||||
void *roc_memset(void *str, int c, size_t n) { return memset(str, c, n); }
|
||||
|
||||
// Reference counting
|
||||
|
|
|
@ -26,11 +26,11 @@ void roc_panic(void* ptr, unsigned int alignment) {
|
|||
char* msg = (char*)ptr;
|
||||
fprintf(stderr,
|
||||
"Application crashed with message\n\n %s\n\nShutting down\n", msg);
|
||||
exit(0);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
void roc_dbg(char* file_path, char* msg) {
|
||||
fprintf(stderr, "[%s] %s\n", file_path, msg);
|
||||
void roc_dbg(char* loc, char* msg) {
|
||||
fprintf(stderr, "[%s] %s\n", loc, msg);
|
||||
}
|
||||
|
||||
void* roc_memset(void* str, int c, size_t n) { return memset(str, c, n); }
|
||||
|
|
|
@ -27,6 +27,10 @@ __attribute__((noreturn)) void roc_panic(void *ptr, unsigned int alignment)
|
|||
PyErr_SetString(PyExc_RuntimeError, (char *)ptr);
|
||||
}
|
||||
|
||||
void roc_dbg(char* loc, char* msg) {
|
||||
fprintf(stderr, "[%s] %s\n", loc, msg);
|
||||
}
|
||||
|
||||
void *roc_memset(void *str, int c, size_t n) { return memset(str, c, n); }
|
||||
|
||||
// Reference counting
|
||||
|
|
|
@ -21,7 +21,11 @@ void roc_panic(void* ptr, unsigned int alignment) {
|
|||
char* msg = (char*)ptr;
|
||||
fprintf(stderr,
|
||||
"Application crashed with message\n\n %s\n\nShutting down\n", msg);
|
||||
exit(0);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
void roc_dbg(char* loc, char* msg) {
|
||||
fprintf(stderr, "[%s] %s\n", loc, msg);
|
||||
}
|
||||
|
||||
void* roc_memset(void* str, int c, size_t n) { return memset(str, c, n); }
|
||||
|
|
|
@ -23,6 +23,10 @@ __attribute__((noreturn)) void roc_panic(void *ptr, unsigned int alignment)
|
|||
rb_raise(rb_eException, "%s", (char *)ptr);
|
||||
}
|
||||
|
||||
void roc_dbg(char* loc, char* msg) {
|
||||
fprintf(stderr, "[%s] %s\n", loc, msg);
|
||||
}
|
||||
|
||||
void *roc_memset(void *str, int c, size_t n) { return memset(str, c, n); }
|
||||
|
||||
// Reference counting
|
||||
|
|
|
@ -21,7 +21,11 @@ void roc_panic(void* ptr, unsigned int alignment) {
|
|||
char* msg = (char*)ptr;
|
||||
fprintf(stderr,
|
||||
"Application crashed with message\n\n %s\n\nShutting down\n", msg);
|
||||
exit(0);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
void roc_dbg(char* loc, char* msg) {
|
||||
fprintf(stderr, "[%s] %s\n", loc, msg);
|
||||
}
|
||||
|
||||
void* roc_memmove(void* dest, const void* src, size_t n){
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue