comparison dmd2/class.c @ 809:69a5e4a6fc0f

Changed some hardcoded offset/alignment for classes in DMD, broke offsets for 64bits. Changed ClassInfo generation to no longer access the default initializer of ClassInfo, fixes problems with index mismatch.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 30 Nov 2008 20:22:09 +0100
parents f04dde6e882c
children 638d16625da2
comparison
equal deleted inserted replaced
808:4ad1e7b10378 809:69a5e4a6fc0f
557 // if (isnested) 557 // if (isnested)
558 // sc->offset += PTRSIZE; // room for uplevel context pointer 558 // sc->offset += PTRSIZE; // room for uplevel context pointer
559 } 559 }
560 else 560 else
561 { sc->offset = PTRSIZE * 2; // allow room for __vptr and __monitor 561 { sc->offset = PTRSIZE * 2; // allow room for __vptr and __monitor
562 alignsize = 4; 562 alignsize = PTRSIZE;
563 } 563 }
564 structsize = sc->offset; 564 structsize = sc->offset;
565 Scope scsave = *sc; 565 Scope scsave = *sc;
566 int members_dim = members->dim; 566 int members_dim = members->dim;
567 sizeok = 0; 567 sizeok = 0;