1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-16 15:24:10 +02:00

Fixed some alignment differences between LLVM and BeefBE

This commit is contained in:
Brian Fiete 2020-04-03 10:34:26 -07:00
parent 0ae14f5a5d
commit 1ca01864bb
12 changed files with 73 additions and 21 deletions

View file

@ -0,0 +1,31 @@
using System;
namespace Tests
{
class Arrays
{
struct StructA
{
public int16 mA = 11;
public int16 mB = 22;
public int16 mC = 33;
}
[Test]
public static void TestPacking()
{
StructA[] arr = scope .[3](.(), );
ref StructA sa = ref arr[0];
Test.Assert(sa.mA == 11);
Test.Assert(sa.mB == 22);
Test.Assert(sa.mC == 33);
#if BF_64_BIT
/*int a = (int)(void*)&sa - (int)Internal.UnsafeCastToPtr(arr);
int b = typeof(System.Array).InstanceSize;
Test.Assert((int)(void*)&sa - (int)Internal.UnsafeCastToPtr(arr) == sizeof(System.Array));*/
#endif
}
}
}