Mercurial > projects > ldc
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; |