tinycc/include
herman ten brugge 79a8229fb5 Add atomic functions for arm/arm64/riscv
Make code more compatible with gcc. Change
__atomic_store
__atomic_load
__atomic_exchange
__atomic_compare_exchange

Also add (include/stdatomic.h, lib/stdatomic.c):
atomic_thread_fence
atomic_signal_fence
atomic_is_lock_free

And gcc extensions (tcctok.h, tccgen.c, lib/stdatomic.c):
__atomic_fetch_nand
__atomic_and_fetch
__atomic_sub_fetch
__atomic_or_fetch
__atomic_xor_fetch
__atomic_and_fetch
__atomic_nand_fetch

Add new file lib/atomic.S with assembly code for __atomic_compare_exchange_n
for arm/arm64/riscv. Also update lib/Makefile.

Update testcode in 124_atomic_counter and 125_atomic_misc to test new functions.
Also update tests/tests2/Makefile to run tests on arm/arm64/riscv.
2022-10-16 18:51:56 +02:00
..
float.h include/float.h: Define DECIMAL_DIG 2022-04-28 21:44:01 +03:00
stdalign.h add C11 stdalign.h header 2019-09-08 15:04:06 +03:00
stdarg.h stdarg: always have the __builtin_va_* available 2020-04-15 22:06:52 +02:00
stdatomic.h Add atomic functions for arm/arm64/riscv 2022-10-16 18:51:56 +02:00
stdbool.h stdbool.h: Make conformant to ISOC99 2014-04-07 00:30:31 +02:00
stddef.h Only define alloca on i386/x86_64 2022-04-12 07:07:40 +02:00
stdnoreturn.h C11 conformance: Add _Noreturn, stdnoreturn.h, and partial _Alignas support 2019-03-20 15:03:27 -04:00
tccdefs.h tcc android-enabled (armeabi-v7a) 2022-07-24 09:51:32 +02:00
tgmath.h Overhauled WIN32 math and added missing functions: 2020-11-20 23:34:35 +01:00
varargs.h win64: use new headers from mingw 2009-07-18 22:06:37 +02:00