WAIT/POST_SEM(): generalize interface (and more)
commitdda95e9b0b30771369efe66b4a47e94cf0ca7dc0
authorgrischka <grischka>
Sun, 1 Aug 2021 18:04:46 +0000 (1 20:04 +0200)
committergrischka <grischka>
Sun, 1 Aug 2021 18:33:31 +0000 (1 20:33 +0200)
treeae71b6bf945447db84ccc71bad1ee760aca839bc
parent4b2c6cf3a48c1bdfe07faa8c3e1c8148f861aff5
WAIT/POST_SEM(): generalize interface (and more)

Currently used only with 'tcc_compile_sem' to protect
tcc_compile(),  but can be used with other semaphores

Also fix deadlock when tcc_enter_state() is called
recursively for the same state, for example with
tcc_warning() from #pragma comment(option,"...")

Also:
- libtcc.c: error1(): use cstr_[v]printf()
- tcc.h: set TCC_USING_DOUBLE_FOR_LDOUBLE for macho-arm64
  (rather than for macho-X86_64)
- tcc.h: define TCC_TARGET_MACHO on __APPLE__ by default
- tcc.h: cleanup TCCState, move DEFASM token stuff to tcctok.h
- tccgen.c: more static
- Makefile/tcc.c: review githash
- tccpe/tcctools: use read() instead of fgets() in pe_load_def()
  (all files opened by tcc for reading are now read via 'int fd')
- configure/win32: don't preset CONFIG_TCCDIR (to allow to override it)
- tcc.c -bench: do not include output/run-time
14 files changed:
Makefile
configure
i386-tok.h
libtcc.c
tcc.c
tcc.h
tccasm.c
tccgen.c
tccmacho.c
tccpe.c
tccpp.c
tcctok.h
tcctools.c
tests/libtcc_test_mt.c