public byte c4;
}
+public struct FI {
+ public float f1;
+ public float f2;
+ public float f3;
+}
+
+public struct NestedFloat {
+ public FI fi;
+ public float f4;
+}
+
public class Test
{
[DllImport ("libtest")]
[DllImport ("libtest", EntryPoint="mono_return_int_su")]
public static extern int mono_return_int_su (su a);
+ [DllImport ("libtest", EntryPoint="mono_return_nested_float")]
+ public static extern NestedFloat mono_return_nested_float ();
+
static int Main()
{
if (mono_return_int (5) != 5)
if (s6.c0 != 5 || s6.c1 != 7 || s6.c2 != 9 || s6.c3 != 11 || s6.c4 != 13)
return 11;
+ var f = mono_return_nested_float ();
+ if (f.fi.f1 != 1.0)
+ return 12;
+
return 0;
}
}