diff --git a/lib/std/libc/os/errno.c3 b/lib/std/libc/os/errno.c3 index 54ab94136..3c1c3ee29 100644 --- a/lib/std/libc/os/errno.c3 +++ b/lib/std/libc/os/errno.c3 @@ -1,5 +1,7 @@ module libc::os @if(env::LIBC); +import std::core::env; +const HAS_NATIVE_ERRNO = env::LINUX || env::ANDROID || env::DARWIN || env::WIN32; // Linux extern fn int* __errno_location() @if(env::LINUX); macro int errno() @if(env::LINUX) => *__errno_location(); @@ -27,7 +29,7 @@ extern fn void _get_errno(int* result) @if(env::WIN32); extern fn void _set_errno(int err) @if(env::WIN32); // Default -module libc::os @if(!env::LIBC || !(env::LINUX || env::DARWIN || env::WIN32)); +module libc::os @if(!env::LIBC || !HAS_NATIVE_ERRNO); tlocal int _errno_c3 = 0; fn void errno_set(int err) => _errno_c3 = err; fn int errno() => _errno_c3;