blob: cad4f3bcdbdce0548f5c6823f1a83393c3b60f72 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
// 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;
}
}
|