* fix finding python path which only has python3. * fix #1246, arm host issue. * skip assembler tests on non-x86 host. * update macro of dummy value. * fix MSVC macro. * update dummy array value macro. * restore to original qemu code.
This commit is contained in:
@ -77,6 +77,11 @@ static const int tcg_target_call_iarg_regs[] = {
|
||||
TCG_REG_R8,
|
||||
TCG_REG_R9,
|
||||
#else
|
||||
#ifdef _MSC_VER
|
||||
#ifdef _UC_MSVC_ARRAY_DUMMY
|
||||
#error "DUP DEF _UC_MSVC_ARRAY_DUMMY"
|
||||
#endif
|
||||
#define _UC_MSVC_ARRAY_DUMMY
|
||||
/* 32 bit mode uses stack based calling convention (GCC default).
|
||||
We add a dummy value here for MSVC compatibility for the error:
|
||||
"error C2466: cannot allocate an array of constant size 0"
|
||||
@ -85,6 +90,7 @@ static const int tcg_target_call_iarg_regs[] = {
|
||||
*/
|
||||
0,
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
static const int tcg_target_call_oarg_regs[] = {
|
||||
|
@ -574,9 +574,6 @@ static TCGArg *tcg_constant_folding(TCGContext *s, uint16_t *tcg_opc_ptr,
|
||||
|
||||
/* Do copy propagation */
|
||||
for (i = nb_oargs; i < nb_oargs + nb_iargs; i++) {
|
||||
if (args[i] >= TCG_MAX_TEMPS) {
|
||||
return NULL;
|
||||
}
|
||||
if (temps[args[i]].state == TCG_TEMP_COPY) {
|
||||
args[i] = find_better_copy(s, args[i]);
|
||||
}
|
||||
|
@ -2378,8 +2378,10 @@ static int tcg_reg_alloc_call(TCGContext *s, const TCGOpDef *def,
|
||||
flags = args[nb_oargs + nb_iargs + 1];
|
||||
|
||||
nb_regs = ARRAY_SIZE(tcg_target_call_iarg_regs);
|
||||
#if TCG_TARGET_REG_BITS == 32
|
||||
#ifdef _UC_MSVC_ARRAY_DUMMY
|
||||
// do this because msvc cannot have arrays with 0 entries.
|
||||
/* ref: tcg/i386/tcg-target.c: tcg_target_call_iarg_regs,
|
||||
it is added a dummy value, set back to 0. */
|
||||
nb_regs = 0;
|
||||
#endif
|
||||
if (nb_regs > nb_params) {
|
||||
|
Reference in New Issue
Block a user