system refactorings (#10559)

* move IO subsystem into its own module; refs #10385
* make standalone test compile again
* make C++ examples compile again
* make more tests green
* make sysAssert and gcAssert work again
This commit is contained in:
Andreas Rumpf 2019-02-06 21:00:00 +01:00 • committed by GitHub
commit 0036014727
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 822 additions and 830 deletions

View file

@ -17,15 +17,15 @@ var
## instead of stdmsg.write when printing stacktrace.
## Unstable API.
proc c_fwrite(buf: pointer, size, n: csize, f: File): cint {.
proc c_fwrite(buf: pointer, size, n: csize, f: CFileStar): cint {.
importc: "fwrite", header: "<stdio.h>".}
proc rawWrite(f: File, s: string|cstring) =
proc rawWrite(f: CFileStar, s: string|cstring) =
# we cannot throw an exception here!
discard c_fwrite(cstring(s), 1, s.len, f)
when not defined(windows) or not defined(guiapp):
proc writeToStdErr(msg: cstring) = rawWrite(stdmsg, msg)
proc writeToStdErr(msg: cstring) = rawWrite(cstderr, msg)
else:
proc MessageBoxA(hWnd: cint, lpText, lpCaption: cstring, uType: int): int32 {.