Fix for nolibc (eg wasm). Add multi global declarations. Simplicity wasm export / import. Prevent "extern" functions to have a function body.

This commit is contained in:
Christoffer Lerno
2023-02-11 11:16:31 +01:00
parent 2fa3ae7bc9
commit 3b49b87784
22 changed files with 146 additions and 58 deletions

View File

@@ -250,11 +250,16 @@ fn int fseek(CFile stream, SeekIndex offset, int whence) @weak @extern("fseek")
{
unreachable("'fseek' not available.");
}
fn CFile fopen(char* filename, char* mode) @weak @extern("fopen")
fn CFile fopen(ZString filename, ZString mode) @weak @extern("fopen")
{
unreachable("'fopen' not available.");
}
fn CFile freopen(ZString filename, ZString mode, CFile stream) @weak @extern("fopen")
{
unreachable("'freopen' not available.");
}
fn usz fwrite(void* ptr, usz size, usz nmemb, CFile stream) @weak @extern("fwrite")
{
unreachable("'fwrite' not available.");
@@ -280,7 +285,7 @@ fn int fputc(int c, CFile stream) @weak @extern("fputc")
unreachable("'fputc' not available.");
}
fn char* fgets(char* str, int n, CFile stream) @weak @extern("fgets")
fn char* fgets(ZString str, int n, CFile stream) @weak @extern("fgets")
{
unreachable("'fgets' not available.");
}
@@ -303,7 +308,7 @@ fn int putchar(int c) @weak @extern("putchar")
{
unreachable("'putchar' not available.");
}
fn int puts(char* str) @weak @extern("puts")
fn int puts(ZString str) @weak @extern("puts")
{
unreachable("'puts' not available.");
}