Structs support sub-structs
This commit is contained in:
@@ -1379,7 +1379,7 @@ public class Generator
|
|||||||
|
|
||||||
if (IsLargeType(field.Type))
|
if (IsLargeType(field.Type))
|
||||||
{
|
{
|
||||||
_builder.AppendLine($" blit %{offsetName}, {var}, {QbeTypeSize(field.Type)}");
|
_builder.AppendLine($" blit {var}, %{offsetName}, {QbeTypeSize(field.Type)}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1391,8 +1391,16 @@ public class Generator
|
|||||||
var var = GenerateExpression(field.Value.Value);
|
var var = GenerateExpression(field.Value.Value);
|
||||||
var offsetName = GenVarName();
|
var offsetName = GenVarName();
|
||||||
_builder.AppendLine($" %{offsetName} =l add %{structVar}, {offset}");
|
_builder.AppendLine($" %{offsetName} =l add %{structVar}, {offset}");
|
||||||
|
|
||||||
|
if (IsLargeType(field.Type))
|
||||||
|
{
|
||||||
|
_builder.AppendLine($" blit {var}, %{offsetName}, {QbeTypeSize(field.Type)}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
_builder.AppendLine($" store{SQT(field.Type)} {var}, %{offsetName}");
|
_builder.AppendLine($" store{SQT(field.Type)} {var}, %{offsetName}");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Assert(false);
|
Debug.Assert(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user