mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Update to libc::setjmp on Win32, to do no stack unwinding.
This commit is contained in:
@@ -15,7 +15,7 @@ extern fn Time_t _mkgmtime64(Tm* timeptr); def timegm = _mkgmtime64;
|
||||
extern fn Time_t _mktime64(Tm *timeptr); def mktime = _mktime64;
|
||||
extern fn usz _msize(void* ptr);
|
||||
extern fn CInt _read(Fd fd, void* buffer, CUInt buffer_size);
|
||||
extern fn CInt _setjmp(void* frameptr, JmpBuf* buffer);
|
||||
extern fn CInt _setjmp(JmpBuf* buffer, void* frameptr);
|
||||
extern fn CFile _wfopen(WString, WString);
|
||||
extern fn CFile _wfreopen(WString, WString, CFile);
|
||||
extern fn CInt _write(Fd fd, void* buffer, CUInt count);
|
||||
@@ -47,7 +47,7 @@ extern fn CInt get_system_info(SystemInfo*) @extern("GetSystemInfo");
|
||||
|
||||
// Aliases to simplify libc use
|
||||
macro Tm* localtime_r(Time_t* timer, Tm* buf) => _localtime64_s(buf, timer);
|
||||
macro CInt setjmp(JmpBuf* buffer) => _setjmp($$frameaddress(0), buffer);
|
||||
macro CInt setjmp(JmpBuf* buffer) => _setjmp(buffer, null);
|
||||
macro Tm* gmtime_r(Time_t* timer, Tm* buf) => _gmtime64_s(buf, timer);
|
||||
macro isz read(Fd fd, void* buffer, usz buffer_size) => _read(fd, buffer, (CUInt)buffer_size);
|
||||
macro isz write(Fd fd, void* buffer, usz count) => _write(fd, buffer, (CUInt)count);
|
||||
@@ -60,12 +60,13 @@
|
||||
- `%` analysis was incorrect for int vectors.
|
||||
- When resolving inherited interfaces, the interface type wasn't always resolved.
|
||||
- Fix issues when checking methods and interfaces hasn't been resolved yet.
|
||||
- Fix Vec2.angle
|
||||
- Update to libc::setjmp on Win32, to do no stack unwinding.
|
||||
|
||||
### Stdlib changes
|
||||
|
||||
- `send` and `recv` added to `libc` for Posix / Win32.
|
||||
- Add support to destroy temp allocators.
|
||||
- Fix Vec2.angle
|
||||
|
||||
## 0.6.1 Change list
|
||||
|
||||
|
||||
Reference in New Issue
Block a user