* 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:
Chen Huitao
2020-05-18 19:57:44 +08:00
committed by GitHub
parent 08240d5453
commit 2c66acf4ee
7 changed files with 29 additions and 6 deletions

View File

@ -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[] = {

View File

@ -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]);
}

View File

@ -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) {