// Compiler options: -unsafe

unsafe struct S
{
	public short nData;
	public fixed int Data [1];
}

unsafe struct S2
{
	public uint Header;
	public fixed byte Data [5];

	public void Test ()
	{
		fixed (byte* bP = Data) {
			S* p = (S*) bP;
			p = (S*) (p->Data + p->nData);
		}
	}

	public static void Main ()
	{
		new S2 ().Test ();
	}
}