Minor fixes to enable tcc

This commit is contained in:
Ganesh Viswanathan 2018-05-13 21:42:30 -05:00 • committed by Andreas Rumpf
commit 6ca8478548
3 changed files with 4 additions and 4 deletions

View file

@ -118,7 +118,7 @@ path="$lib/pure"
# Configuration for the GNU C/C++ compiler: # Configuration for the GNU C/C++ compiler:
@if windows: @if windows:
#gcc.path = r"$nim\dist\mingw\bin" #gcc.path = r"$nim\dist\mingw\bin"
@if gcc: @if gcc or tcc:
tlsEmulation:on tlsEmulation:on
@end @end
@end @end

View file

@ -331,7 +331,7 @@ proc slave(w: ptr Worker) {.thread.} =
await(w.taskArrived) await(w.taskArrived)
# XXX Somebody needs to look into this (why does this assertion fail # XXX Somebody needs to look into this (why does this assertion fail
# in Visual Studio?) # in Visual Studio?)
when not defined(vcc): assert(not w.ready) when not defined(vcc) and not defined(tcc): assert(not w.ready)
withLock numSlavesLock: withLock numSlavesLock:
inc numSlavesRunning inc numSlavesRunning

View file

@ -241,7 +241,7 @@ when defined(vcc):
else: else:
{.error: "invalid CAS instruction".} {.error: "invalid CAS instruction".}
elif defined(tcc) and not defined(windows): elif defined(tcc):
when defined(amd64): when defined(amd64):
{.emit:""" {.emit:"""
static int __tcc_cas(int *ptr, int oldVal, int newVal) static int __tcc_cas(int *ptr, int oldVal, int newVal)
@ -262,7 +262,7 @@ static int __tcc_cas(int *ptr, int oldVal, int newVal)
} }
""".} """.}
else: else:
assert sizeof(int) == 4 #assert sizeof(int) == 4
{.emit:""" {.emit:"""
static int __tcc_cas(int *ptr, int oldVal, int newVal) static int __tcc_cas(int *ptr, int oldVal, int newVal)
{ {