mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-23 18:18:00 +02:00
Fixed non-composites 'in' parameters
This commit is contained in:
parent
309e3cb02a
commit
0cf9135b8a
5 changed files with 51 additions and 8 deletions
|
@ -5093,6 +5093,9 @@ BfTypedValue BfExprEvaluator::LoadField(BfAstNode* targetSrc, BfTypedValue targe
|
|||
}
|
||||
}
|
||||
|
||||
if ((fieldDef->mIsVolatile) && (retVal.IsAddr()))
|
||||
retVal.mKind = BfTypedValueKind_VolatileAddr;
|
||||
|
||||
if (wantsLoadValue)
|
||||
retVal = mModule->LoadValue(retVal, NULL, mIsVolatileReference);
|
||||
else
|
||||
|
@ -5902,8 +5905,8 @@ void BfExprEvaluator::ResolveArgValues(BfResolvedArgs& resolvedArgs, BfResolveAr
|
|||
resolvedArg.mResolvedType = argValue.mType;
|
||||
if (resolvedArg.mResolvedType->IsRef())
|
||||
argValue.mKind = BfTypedValueKind_Value;
|
||||
else if ((!resolvedArg.mResolvedType->IsStruct()) && (!resolvedArg.mResolvedType->IsSizedArray()) && (!resolvedArg.mResolvedType->IsValuelessType()))
|
||||
argValue = mModule->LoadValue(argValue, NULL, exprEvaluator.mIsVolatileReference);
|
||||
if (exprEvaluator.mIsVolatileReference)
|
||||
resolvedArg.mArgFlags = (BfArgFlags)(resolvedArg.mArgFlags | BfArgFlag_Volatile);
|
||||
}
|
||||
resolvedArg.mUncastedTypedValue = argValue;
|
||||
resolvedArg.mTypedValue = argValue;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue