Skip to content

Commit

Permalink
wasm2c: add link to clang bug on mips force read constraint
Browse files Browse the repository at this point in the history
  • Loading branch information
shravanrn committed Jul 30, 2023
1 parent 70b1c9d commit 487ca91
Show file tree
Hide file tree
Showing 8 changed files with 9 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/prebuilt/wasm2c_source_declarations.cc
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ R"w2c_template(#define FORCE_READ_INT(var) __asm__("" ::"r"(var));
)w2c_template"
R"w2c_template(// Clang on Mips requires "f" constraints on floats
)w2c_template"
R"w2c_template(// See https://github.com/llvm/llvm-project/issues/64241
)w2c_template"
R"w2c_template(#if defined(__clang__) && \
)w2c_template"
R"w2c_template( (defined(mips) || defined(__mips__) || defined(__mips))
Expand Down
1 change: 1 addition & 0 deletions src/template/wasm2c.declarations.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ static inline bool func_types_eq(const wasm_rt_func_type_t a,
#ifdef __GNUC__
#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
#if defined(__clang__) && \
(defined(mips) || defined(__mips__) || defined(__mips))
#define FORCE_READ_FLOAT(var) __asm__("" ::"f"(var));
Expand Down
1 change: 1 addition & 0 deletions test/wasm2c/add.txt
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ static inline bool func_types_eq(const wasm_rt_func_type_t a,
#ifdef __GNUC__
#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
#if defined(__clang__) && \
(defined(mips) || defined(__mips__) || defined(__mips))
#define FORCE_READ_FLOAT(var) __asm__("" ::"f"(var));
Expand Down
1 change: 1 addition & 0 deletions test/wasm2c/check-imports.txt
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ static inline bool func_types_eq(const wasm_rt_func_type_t a,
#ifdef __GNUC__
#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
#if defined(__clang__) && \
(defined(mips) || defined(__mips__) || defined(__mips))
#define FORCE_READ_FLOAT(var) __asm__("" ::"f"(var));
Expand Down
1 change: 1 addition & 0 deletions test/wasm2c/export-names.txt
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ static inline bool func_types_eq(const wasm_rt_func_type_t a,
#ifdef __GNUC__
#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
#if defined(__clang__) && \
(defined(mips) || defined(__mips__) || defined(__mips))
#define FORCE_READ_FLOAT(var) __asm__("" ::"f"(var));
Expand Down
1 change: 1 addition & 0 deletions test/wasm2c/hello.txt
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ static inline bool func_types_eq(const wasm_rt_func_type_t a,
#ifdef __GNUC__
#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
#if defined(__clang__) && \
(defined(mips) || defined(__mips__) || defined(__mips))
#define FORCE_READ_FLOAT(var) __asm__("" ::"f"(var));
Expand Down
1 change: 1 addition & 0 deletions test/wasm2c/minimal.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ static inline bool func_types_eq(const wasm_rt_func_type_t a,
#ifdef __GNUC__
#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
#if defined(__clang__) && \
(defined(mips) || defined(__mips__) || defined(__mips))
#define FORCE_READ_FLOAT(var) __asm__("" ::"f"(var));
Expand Down
1 change: 1 addition & 0 deletions wasm2c/examples/fac/fac.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ static inline bool func_types_eq(const wasm_rt_func_type_t a,
#ifdef __GNUC__
#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
#if defined(__clang__) && \
(defined(mips) || defined(__mips__) || defined(__mips))
#define FORCE_READ_FLOAT(var) __asm__("" ::"f"(var));
Expand Down

0 comments on commit 487ca91

Please sign in to comment.