align(n) not working

%u wfunction at hotmail.com
Mon Dec 27 23:29:54 PST 2010


Hi,

I'm not sure if I'm doing something wrong, but it seems like struct alignment
isn't really working. When I execute this code:

	struct Temp
	{
		ubyte x;
		align(16) ubyte y;
	}
	auto o = Temp();
	std.stdio.writefln("Address of aligned fields: %#x, %#x", cast(size_t)&o.x,
cast(size_t)&o.y);

I get these addresses:
	0x18fd00, 0x18fd01
the second of which is not aligned on a 16-byte boundary.


Am I doing something wrong, or is this a bug?

Thank you!


More information about the Digitalmars-d-bugs mailing list