Automatically fallback mixed variable to void (NULL).
The build was successful. Details

This commit is contained in:
Rafal Kupiec 2019-03-31 14:04:19 +02:00
parent 629484fcf6
commit 253fe327ef
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
1 changed files with 11 additions and 7 deletions

View File

@ -2431,15 +2431,19 @@ static sxi32 VmByteCodeExec(
PH7_MemObjRelease(pTos);
} else {
pObj = VmExtractMemObj(&(*pVm), &sName, FALSE, TRUE);
if(pInstr->iP2 & MEMOBJ_HASHMAP) {
ph7_hashmap *pMap;
pMap = PH7_NewHashmap(&(*pVm), 0, 0);
if(pMap == 0) {
PH7_VmMemoryError(&(*pVm));
if(pInstr->iP2 & MEMOBJ_MIXED && (pInstr->iP2 & MEMOBJ_HASHMAP) == 0) {
pObj->iFlags = MEMOBJ_MIXED | MEMOBJ_VOID;
} else {
if(pInstr->iP2 & MEMOBJ_HASHMAP) {
ph7_hashmap *pMap;
pMap = PH7_NewHashmap(&(*pVm), 0, 0);
if(pMap == 0) {
PH7_VmMemoryError(&(*pVm));
}
pObj->x.pOther = pMap;
}
pObj->x.pOther = pMap;
MemObjSetType(pObj, pInstr->iP2);
}
MemObjSetType(pObj, pInstr->iP2);
}
pTos->nIdx = SXU32_HIGH; /* Mark as constant */
break;