mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 03:28:20 +02:00
Fixed int8[0] aggzero marker
This commit is contained in:
parent
25dce88509
commit
524d3993ab
2 changed files with 9 additions and 10 deletions
|
@ -865,18 +865,18 @@ void BeIRCodeGen::Read(BeValue*& beValue)
|
|||
}
|
||||
else if (valType != structType->mMembers[i].mType)
|
||||
{
|
||||
if ((valType->IsSizedArray()) && (structType->mMembers[i].mType->IsSizedArray()))
|
||||
if (valType->IsSizedArray())
|
||||
{
|
||||
auto valSizedType = (BeSizedArrayType*)valType;
|
||||
auto memberSizedType = (BeSizedArrayType*)structType->mMembers[i].mType;
|
||||
if ((valSizedType->mSize == 0) && (valSizedType->mElementType == memberSizedType->mElementType))
|
||||
if (valSizedType->mSize == 0)
|
||||
{
|
||||
constant->mType = memberSizedType;
|
||||
constant->mType = structType->mMembers[i].mType;
|
||||
constStruct->mMemberValues.Add(constant);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Fail("ConstAgg struct member type mismatch");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -955,12 +955,11 @@ void BfIRCodeGen::Read(llvm::Value*& llvmValue, BfIRCodeGenEntry** codeGenEntry,
|
|||
if (values[i]->getType() != structType->getElementType(i))
|
||||
{
|
||||
auto valArrayType = llvm::dyn_cast<llvm::ArrayType>(values[i]->getType());
|
||||
auto structArrayType = llvm::dyn_cast<llvm::ArrayType>(structType->getElementType(i));
|
||||
if ((valArrayType != NULL) && (structArrayType != NULL))
|
||||
if (valArrayType != NULL)
|
||||
{
|
||||
if ((valArrayType->getNumElements() == 0) && (valArrayType->getElementType() == structArrayType->getElementType()))
|
||||
if (valArrayType->getNumElements() == 0)
|
||||
{
|
||||
values[i] = llvm::ConstantAggregateZero::get(structArrayType);
|
||||
values[i] = llvm::ConstantAggregateZero::get(structType->getElementType(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue