1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 04:22:20 +02:00

ReadConstant handling of null pointers

This commit is contained in:
Brian Fiete 2024-10-23 11:06:00 -04:00
parent 65ee34e37b
commit 8c1d1e65b3

View file

@ -1413,6 +1413,22 @@ BfIRValue BfIRConstHolder::ReadConstant(void* ptr, BfType* type)
return CreateConst(BfTypeCode_StringId, *(int32*)ptr);
}
if (type->IsPointer())
{
bool isZero = false;
if (mModule->mSystem->mPtrSize == 4)
isZero = *(int32*)ptr == 0;
else
isZero = *(int64*)ptr == 0;
if (isZero)
{
BfIRType irType;
irType.mKind = BfIRTypeData::TypeKind_TypeId;
irType.mId = type->mTypeId;
return CreateConstNull(irType);
}
}
return BfIRValue();
}