diff --git a/dyngen-exec.h b/dyngen-exec.h index 0c392283d41d4b09873f903727ae2312ce0d0947..2f3878561c7c5555b2c486eee1770a91e24c12db 100644 --- a/dyngen-exec.h +++ b/dyngen-exec.h @@ -188,7 +188,7 @@ extern int printf(const char *, ...); #endif /* force GCC to generate only one epilog at the end of the function */ -#define FORCE_RET() asm volatile (""); +#define FORCE_RET() __asm__ __volatile__("" : : : "memory"); #ifndef OPPROTO #define OPPROTO diff --git a/target-mips/exec.h b/target-mips/exec.h index 9e1fcdc000b8a249c54c98459093564c3ebce5c2..e364d8a6fca7ac9a429d35adc396e052a0e243ea 100644 --- a/target-mips/exec.h +++ b/target-mips/exec.h @@ -45,9 +45,9 @@ register host_uint_t T2 asm(AREG3); #endif #if defined (DEBUG_OP) -#define RETURN() __asm__ __volatile__("nop"); +# define RETURN() __asm__ __volatile__("nop" : : : "memory"); #else -#define RETURN() __asm__ __volatile__(""); +# define RETURN() __asm__ __volatile__("" : : : "memory"); #endif #include "cpu.h" diff --git a/target-ppc/exec.h b/target-ppc/exec.h index 3ef0968bc33ce716394c957b937a4a17ad58a9c2..89171f9d3fd6061827cff4a7e69b7abe8a20b3a1 100644 --- a/target-ppc/exec.h +++ b/target-ppc/exec.h @@ -38,9 +38,9 @@ register uint32_t T2 asm(AREG3); #define FT2 (env->ft2) #if defined (DEBUG_OP) -#define RETURN() __asm__ __volatile__("nop"); +# define RETURN() __asm__ __volatile__("nop" : : : "memory"); #else -#define RETURN() __asm__ __volatile__(""); +# define RETURN() __asm__ __volatile__("" : : : "memory"); #endif #include "cpu.h"