--- arm-gen.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ arm64-gen.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ c67-gen.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ i386-gen.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ riscv64-gen.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ tcc.h | 18 +++++++++++++++++ x86_64-gen.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 348 insertions(+)
diff --git a/arm-gen.c b/arm-gen.c index bc308c2..5980436 100644 --- a/arm-gen.c +++ b/arm-gen.c @@ -2385,6 +2385,61 @@ ST_FUNC void gen_vla_alloc(CType *type, int align) { #endif } +ST_FUNC void gen_atomic_init(int mode) +{ + tcc_error("atomic_init not implemented"); +} + +ST_FUNC void gen_atomic_store(int mode) +{ + tcc_error("atomic_store not implemented"); +} + +ST_FUNC void gen_atomic_load(int mode) +{ + tcc_error("atomic_load not implemented"); +} + +ST_FUNC void gen_atomic_exchange(int mode) +{ + tcc_error("atomic_exchange not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_strong(int mode) +{ + tcc_error("atomic_compare_exchange_strong not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_weak(int mode) +{ + tcc_error("atomic_compare_exchange_weak not implemented"); +} + +ST_FUNC void gen_atomic_fetch_add(int mode) +{ + tcc_error("atomic_fetch_add not implemented"); +} + +ST_FUNC void gen_atomic_fetch_sub(int mode) +{ + tcc_error("atomic_fetch_sub not implemented"); +} + +ST_FUNC void gen_atomic_fetch_or(int mode) +{ + tcc_error("atomic_fetch_or not implemented"); +} + +ST_FUNC void gen_atomic_fetch_xor(int mode) +{ + tcc_error("atomic_fetch_xor not implemented"); +} + +ST_FUNC void gen_atomic_fetch_and(int mode) +{ + tcc_error("atomic_fetch_and not implemented"); +} + /* end of ARM code generator */ /*************************************************************/ #endif diff --git a/arm64-gen.c b/arm64-gen.c index ca38b3a..751c809 100644 --- a/arm64-gen.c +++ b/arm64-gen.c @@ -2097,6 +2097,61 @@ ST_FUNC void gen_vla_alloc(CType *type, int align) { #endif } +ST_FUNC void gen_atomic_init(int mode) +{ + tcc_error("atomic_init not implemented"); +} + +ST_FUNC void gen_atomic_store(int mode) +{ + tcc_error("atomic_store not implemented"); +} + +ST_FUNC void gen_atomic_load(int mode) +{ + tcc_error("atomic_load not implemented"); +} + +ST_FUNC void gen_atomic_exchange(int mode) +{ + tcc_error("atomic_exchange not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_strong(int mode) +{ + tcc_error("atomic_compare_exchange_strong not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_weak(int mode) +{ + tcc_error("atomic_compare_exchange_weak not implemented"); +} + +ST_FUNC void gen_atomic_fetch_add(int mode) +{ + tcc_error("atomic_fetch_add not implemented"); +} + +ST_FUNC void gen_atomic_fetch_sub(int mode) +{ + tcc_error("atomic_fetch_sub not implemented"); +} + +ST_FUNC void gen_atomic_fetch_or(int mode) +{ + tcc_error("atomic_fetch_or not implemented"); +} + +ST_FUNC void gen_atomic_fetch_xor(int mode) +{ + tcc_error("atomic_fetch_xor not implemented"); +} + +ST_FUNC void gen_atomic_fetch_and(int mode) +{ + tcc_error("atomic_fetch_and not implemented"); +} + /* end of A64 code generator */ /*************************************************************/ #endif diff --git a/c67-gen.c b/c67-gen.c index 6ebe718..53a661d 100644 --- a/c67-gen.c +++ b/c67-gen.c @@ -2537,6 +2537,61 @@ ST_FUNC void gen_vla_alloc(CType *type, int align) { tcc_error("variable length arrays unsupported for this target"); } +ST_FUNC void gen_atomic_init(int mode) +{ + tcc_error("atomic_init not implemented"); +} + +ST_FUNC void gen_atomic_store(int mode) +{ + tcc_error("atomic_store not implemented"); +} + +ST_FUNC void gen_atomic_load(int mode) +{ + tcc_error("atomic_load not implemented"); +} + +ST_FUNC void gen_atomic_exchange(int mode) +{ + tcc_error("atomic_exchange not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_strong(int mode) +{ + tcc_error("atomic_compare_exchange_strong not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_weak(int mode) +{ + tcc_error("atomic_compare_exchange_weak not implemented"); +} + +ST_FUNC void gen_atomic_fetch_add(int mode) +{ + tcc_error("atomic_fetch_add not implemented"); +} + +ST_FUNC void gen_atomic_fetch_sub(int mode) +{ + tcc_error("atomic_fetch_sub not implemented"); +} + +ST_FUNC void gen_atomic_fetch_or(int mode) +{ + tcc_error("atomic_fetch_or not implemented"); +} + +ST_FUNC void gen_atomic_fetch_xor(int mode) +{ + tcc_error("atomic_fetch_xor not implemented"); +} + +ST_FUNC void gen_atomic_fetch_and(int mode) +{ + tcc_error("atomic_fetch_and not implemented"); +} + /* end of C67 code generator */ /*************************************************************/ #endif diff --git a/i386-gen.c b/i386-gen.c index 2f32944..43a5055 100644 --- a/i386-gen.c +++ b/i386-gen.c @@ -1134,6 +1134,61 @@ ST_FUNC void gen_vla_alloc(CType *type, int align) { } } +ST_FUNC void gen_atomic_init(int mode) +{ + tcc_error("atomic_init not implemented"); +} + +ST_FUNC void gen_atomic_store(int mode) +{ + tcc_error("atomic_store not implemented"); +} + +ST_FUNC void gen_atomic_load(int mode) +{ + tcc_error("atomic_load not implemented"); +} + +ST_FUNC void gen_atomic_exchange(int mode) +{ + tcc_error("atomic_exchange not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_strong(int mode) +{ + tcc_error("atomic_compare_exchange_strong not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_weak(int mode) +{ + tcc_error("atomic_compare_exchange_weak not implemented"); +} + +ST_FUNC void gen_atomic_fetch_add(int mode) +{ + tcc_error("atomic_fetch_add not implemented"); +} + +ST_FUNC void gen_atomic_fetch_sub(int mode) +{ + tcc_error("atomic_fetch_sub not implemented"); +} + +ST_FUNC void gen_atomic_fetch_or(int mode) +{ + tcc_error("atomic_fetch_or not implemented"); +} + +ST_FUNC void gen_atomic_fetch_xor(int mode) +{ + tcc_error("atomic_fetch_xor not implemented"); +} + +ST_FUNC void gen_atomic_fetch_and(int mode) +{ + tcc_error("atomic_fetch_and not implemented"); +} + /* end of X86 code generator */ /*************************************************************/ #endif diff --git a/riscv64-gen.c b/riscv64-gen.c index 8cbfcb7..4233203 100644 --- a/riscv64-gen.c +++ b/riscv64-gen.c @@ -1414,4 +1414,60 @@ ST_FUNC void gen_vla_alloc(CType *type, int align) } #endif } + +ST_FUNC void gen_atomic_init(int mode) +{ + tcc_error("atomic_init not implemented"); +} + +ST_FUNC void gen_atomic_store(int mode) +{ + tcc_error("atomic_store not implemented"); +} + +ST_FUNC void gen_atomic_load(int mode) +{ + tcc_error("atomic_load not implemented"); +} + +ST_FUNC void gen_atomic_exchange(int mode) +{ + tcc_error("atomic_exchange not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_strong(int mode) +{ + tcc_error("atomic_compare_exchange_strong not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_weak(int mode) +{ + tcc_error("atomic_compare_exchange_weak not implemented"); +} + +ST_FUNC void gen_atomic_fetch_add(int mode) +{ + tcc_error("atomic_fetch_add not implemented"); +} + +ST_FUNC void gen_atomic_fetch_sub(int mode) +{ + tcc_error("atomic_fetch_sub not implemented"); +} + +ST_FUNC void gen_atomic_fetch_or(int mode) +{ + tcc_error("atomic_fetch_or not implemented"); +} + +ST_FUNC void gen_atomic_fetch_xor(int mode) +{ + tcc_error("atomic_fetch_xor not implemented"); +} + +ST_FUNC void gen_atomic_fetch_and(int mode) +{ + tcc_error("atomic_fetch_and not implemented"); +} + #endif diff --git a/tcc.h b/tcc.h index 3f8647d..433d223 100644 --- a/tcc.h +++ b/tcc.h @@ -1671,6 +1671,24 @@ ST_FUNC void gen_vla_sp_save(int addr); ST_FUNC void gen_vla_sp_restore(int addr); ST_FUNC void gen_vla_alloc(CType *type, int align); +enum { + GEN_ATOMIC_MODE_8, + GEN_ATOMIC_MODE_16, + GEN_ATOMIC_MODE_32, + GEN_ATOMIC_MODE_64, +}; +ST_FUNC void gen_atomic_init(int mode); +ST_FUNC void gen_atomic_store(int mode); +ST_FUNC void gen_atomic_load(int mode); +ST_FUNC void gen_atomic_exchange(int mode); +ST_FUNC void gen_atomic_compare_exchange_strong(int mode); +ST_FUNC void gen_atomic_compare_exchange_weak(int mode); +ST_FUNC void gen_atomic_fetch_add(int mode); +ST_FUNC void gen_atomic_fetch_sub(int mode); +ST_FUNC void gen_atomic_fetch_or(int mode); +ST_FUNC void gen_atomic_fetch_xor(int mode); +ST_FUNC void gen_atomic_fetch_and(int mode); + static inline uint16_t read16le(unsigned char *p) { return p[0] | (uint16_t)p[1] << 8; } diff --git a/x86_64-gen.c b/x86_64-gen.c index f8c5634..0ff2041 100644 --- a/x86_64-gen.c +++ b/x86_64-gen.c @@ -2264,6 +2264,60 @@ ST_FUNC void gen_vla_alloc(CType *type, int align) { } } +ST_FUNC void gen_atomic_init(int mode) +{ + tcc_error("atomic_init not implemented"); +} + +ST_FUNC void gen_atomic_store(int mode) +{ + tcc_error("atomic_store not implemented"); +} + +ST_FUNC void gen_atomic_load(int mode) +{ + tcc_error("atomic_load not implemented"); +} + +ST_FUNC void gen_atomic_exchange(int mode) +{ + tcc_error("atomic_exchange not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_strong(int mode) +{ + tcc_error("atomic_compare_exchange_strong not implemented"); +} + +ST_FUNC void gen_atomic_compare_exchange_weak(int mode) +{ + tcc_error("atomic_compare_exchange_weak not implemented"); +} + +ST_FUNC void gen_atomic_fetch_add(int mode) +{ + tcc_error("atomic_fetch_add not implemented"); +} + +ST_FUNC void gen_atomic_fetch_sub(int mode) +{ + tcc_error("atomic_fetch_sub not implemented"); +} + +ST_FUNC void gen_atomic_fetch_or(int mode) +{ + tcc_error("atomic_fetch_or not implemented"); +} + +ST_FUNC void gen_atomic_fetch_xor(int mode) +{ + tcc_error("atomic_fetch_xor not implemented"); +} + +ST_FUNC void gen_atomic_fetch_and(int mode) +{ + tcc_error("atomic_fetch_and not implemented"); +} /* end of x86-64 code generator */ /*************************************************************/ -- 2.30.0 _______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel