diff --git a/src/prebuilt/wasm2c_source_declarations.cc b/src/prebuilt/wasm2c_source_declarations.cc index c70ba7094..d0847717f 100644 --- a/src/prebuilt/wasm2c_source_declarations.cc +++ b/src/prebuilt/wasm2c_source_declarations.cc @@ -256,7 +256,8 @@ R"w2c_template( WASM_RT_CHECK_BASE(mem); \ R"w2c_template( RANGE_CHECK(mem, a, sizeof(t)); )w2c_template" R"w2c_template( -#ifdef __GNUC__ +#if defined(__GNUC__) && \ + !(defined(_EZ80) || defined(__ez80) || defined(__ez80__)) )w2c_template" R"w2c_template(#define FORCE_READ_INT(var) __asm__("" ::"r"(var)); )w2c_template" diff --git a/src/template/wasm2c.declarations.c b/src/template/wasm2c.declarations.c index a0cd5a7c8..83685d8a6 100644 --- a/src/template/wasm2c.declarations.c +++ b/src/template/wasm2c.declarations.c @@ -137,7 +137,8 @@ static inline bool add_overflow(uint64_t a, uint64_t b, uint64_t* resptr) { WASM_RT_CHECK_BASE(mem); \ RANGE_CHECK(mem, a, sizeof(t)); -#ifdef __GNUC__ +#if defined(__GNUC__) && \ + !(defined(_EZ80) || defined(__ez80) || defined(__ez80__)) #define FORCE_READ_INT(var) __asm__("" ::"r"(var)); // Clang on Mips requires "f" constraints on floats // See https://github.com/llvm/llvm-project/issues/64241 diff --git a/test/wasm2c/add.txt b/test/wasm2c/add.txt index de04bf123..9225ca71e 100644 --- a/test/wasm2c/add.txt +++ b/test/wasm2c/add.txt @@ -204,7 +204,8 @@ static inline bool add_overflow(uint64_t a, uint64_t b, uint64_t* resptr) { WASM_RT_CHECK_BASE(mem); \ RANGE_CHECK(mem, a, sizeof(t)); -#ifdef __GNUC__ +#if defined(__GNUC__) && \ + !(defined(_EZ80) || defined(__ez80) || defined(__ez80__)) #define FORCE_READ_INT(var) __asm__("" ::"r"(var)); // Clang on Mips requires "f" constraints on floats // See https://github.com/llvm/llvm-project/issues/64241 diff --git a/test/wasm2c/check-imports.txt b/test/wasm2c/check-imports.txt index b5db91372..03f6cf294 100644 --- a/test/wasm2c/check-imports.txt +++ b/test/wasm2c/check-imports.txt @@ -229,7 +229,8 @@ static inline bool add_overflow(uint64_t a, uint64_t b, uint64_t* resptr) { WASM_RT_CHECK_BASE(mem); \ RANGE_CHECK(mem, a, sizeof(t)); -#ifdef __GNUC__ +#if defined(__GNUC__) && \ + !(defined(_EZ80) || defined(__ez80) || defined(__ez80__)) #define FORCE_READ_INT(var) __asm__("" ::"r"(var)); // Clang on Mips requires "f" constraints on floats // See https://github.com/llvm/llvm-project/issues/64241 diff --git a/test/wasm2c/export-names.txt b/test/wasm2c/export-names.txt index 96bff1032..895718854 100644 --- a/test/wasm2c/export-names.txt +++ b/test/wasm2c/export-names.txt @@ -229,7 +229,8 @@ static inline bool add_overflow(uint64_t a, uint64_t b, uint64_t* resptr) { WASM_RT_CHECK_BASE(mem); \ RANGE_CHECK(mem, a, sizeof(t)); -#ifdef __GNUC__ +#if defined(__GNUC__) && \ + !(defined(_EZ80) || defined(__ez80) || defined(__ez80__)) #define FORCE_READ_INT(var) __asm__("" ::"r"(var)); // Clang on Mips requires "f" constraints on floats // See https://github.com/llvm/llvm-project/issues/64241 diff --git a/test/wasm2c/hello.txt b/test/wasm2c/hello.txt index b79bcd377..d8ad4149e 100644 --- a/test/wasm2c/hello.txt +++ b/test/wasm2c/hello.txt @@ -236,7 +236,8 @@ static inline bool add_overflow(uint64_t a, uint64_t b, uint64_t* resptr) { WASM_RT_CHECK_BASE(mem); \ RANGE_CHECK(mem, a, sizeof(t)); -#ifdef __GNUC__ +#if defined(__GNUC__) && \ + !(defined(_EZ80) || defined(__ez80) || defined(__ez80__)) #define FORCE_READ_INT(var) __asm__("" ::"r"(var)); // Clang on Mips requires "f" constraints on floats // See https://github.com/llvm/llvm-project/issues/64241 diff --git a/test/wasm2c/minimal.txt b/test/wasm2c/minimal.txt index 4fdff6d39..1aa2f6564 100644 --- a/test/wasm2c/minimal.txt +++ b/test/wasm2c/minimal.txt @@ -198,7 +198,8 @@ static inline bool add_overflow(uint64_t a, uint64_t b, uint64_t* resptr) { WASM_RT_CHECK_BASE(mem); \ RANGE_CHECK(mem, a, sizeof(t)); -#ifdef __GNUC__ +#if defined(__GNUC__) && \ + !(defined(_EZ80) || defined(__ez80) || defined(__ez80__)) #define FORCE_READ_INT(var) __asm__("" ::"r"(var)); // Clang on Mips requires "f" constraints on floats // See https://github.com/llvm/llvm-project/issues/64241 diff --git a/test/wasm2c/tail-calls.txt b/test/wasm2c/tail-calls.txt index a5f40b28b..c9ab80380 100644 --- a/test/wasm2c/tail-calls.txt +++ b/test/wasm2c/tail-calls.txt @@ -228,7 +228,8 @@ static inline bool add_overflow(uint64_t a, uint64_t b, uint64_t* resptr) { WASM_RT_CHECK_BASE(mem); \ RANGE_CHECK(mem, a, sizeof(t)); -#ifdef __GNUC__ +#if defined(__GNUC__) && \ + !(defined(_EZ80) || defined(__ez80) || defined(__ez80__)) #define FORCE_READ_INT(var) __asm__("" ::"r"(var)); // Clang on Mips requires "f" constraints on floats // See https://github.com/llvm/llvm-project/issues/64241 diff --git a/wasm2c/benchmarks/dhrystone/main.c b/wasm2c/benchmarks/dhrystone/main.c index 80a6c561a..57cf38725 100644 --- a/wasm2c/benchmarks/dhrystone/main.c +++ b/wasm2c/benchmarks/dhrystone/main.c @@ -38,7 +38,8 @@ static inline void memory_fill(wasm_rt_memory_t* mem, u32 d, u32 val, u32 n) { #define MEMCHECK(mem, a, t) RANGE_CHECK(mem, a, sizeof(t)) -#ifdef __GNUC__ +#if defined(__GNUC__) && \ + !(defined(_EZ80) || defined(__ez80) || defined(__ez80__)) #define FORCE_READ_INT(var) __asm__("" ::"r"(var)); #else #define FORCE_READ_INT(var) diff --git a/wasm2c/examples/fac/fac.c b/wasm2c/examples/fac/fac.c index 5c3a80a50..515b73acf 100644 --- a/wasm2c/examples/fac/fac.c +++ b/wasm2c/examples/fac/fac.c @@ -156,7 +156,8 @@ static inline bool add_overflow(uint64_t a, uint64_t b, uint64_t* resptr) { WASM_RT_CHECK_BASE(mem); \ RANGE_CHECK(mem, a, sizeof(t)); -#ifdef __GNUC__ +#if defined(__GNUC__) && \ + !(defined(_EZ80) || defined(__ez80) || defined(__ez80__)) #define FORCE_READ_INT(var) __asm__("" ::"r"(var)); // Clang on Mips requires "f" constraints on floats // See https://github.com/llvm/llvm-project/issues/64241