linux-packaging-mono/mcs/tests/gtest-fixedbuffer-08.cs

47 lines
704 B
C#
Raw Permalink Normal View History

// Compiler options: -unsafe
using System;
using System.Runtime.InteropServices;
[StructLayout (LayoutKind.Auto, CharSet = CharSet.Auto)]
struct S
{
public unsafe fixed byte o[6];
}
class A
{
public static int Main ()
{
Type t = typeof (S);
var sa = t.StructLayoutAttribute;
if (sa.Value != LayoutKind.Auto)
return 1;
if (sa.CharSet != CharSet.Auto)
return 2;
if (sa.Pack != 8)
return 3;
if (sa.Size != 0)
return 4;
t = t.GetNestedTypes ()[0];
sa = t.StructLayoutAttribute;
if (sa.Value != LayoutKind.Sequential)
return 11;
if (sa.CharSet != CharSet.Auto)
return 12;
if (sa.Pack != 8)
return 13;
if (sa.Size != 6)
return 14;
return 0;
}
}