http://d.puremagic.com/issues/show_bug.cgi?id=3463
--- Comment #57 from Leandro Lucarella <llu...@gmail.com> 2010-07-27 21:19:01 PDT --- I think there is a not-so-important bug in the DMD patch, the bits.length value looks like it needs to be divided by size_t.sizeof (which is odd, since in the patch it looks like it's already done in setSize()). See this test program: --- extern (C) int printf(char*, ...); struct Test { int x; void* p; char[15] s; Test* t; long l; union U { int* pi; int i; } U u; } void main() { Test* t = new Test; printf("sizeof = %zu\n", Test.sizeof); auto pm = typeid(Test).pointermap.bits; printf("PointerMap: ptr = %p, length = %zu, T words = %zu, scan bits = %zx, ptr bits = %zx\n", pm.ptr, pm.length, pm[0], pm[1], pm[2]); } --- The output is: PointerMap: ptr = 0x805ab1c, length = 12, T words = 10, scan bits = 242, ptr bits = 42 All looks nice except for the length value, which should be 3 instead of 12. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------