comparison gen/toir.cpp @ 1351:8d501abecd24

Initial (but disabled) fix for ticket #294 , the actual part that fixes the bug is in a #if 0 block as I'm afraid it will cause regressions. I'm most likely not going to be around tonight, and maybe not tomorrow as well, so I'm pushing it in case someone wants to run some serious testing/investigate the problem noted in llvmhelpers.cpp : realignOffset .
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Thu, 14 May 2009 17:20:17 +0200
parents 15e9762bb620
children 8026319762be
comparison
equal deleted inserted replaced
1350:15e9762bb620 1351:8d501abecd24
2457 2457
2458 // get next aligned offset for this field 2458 // get next aligned offset for this field
2459 size_t alignedoffset = offset; 2459 size_t alignedoffset = offset;
2460 if (!packed) 2460 if (!packed)
2461 { 2461 {
2462 size_t alignsize = vd->type->alignsize(); 2462 alignedoffset = realignOffset(alignedoffset, vd->type);
2463 alignedoffset = (offset + alignsize - 1) & ~(alignsize - 1);
2464 } 2463 }
2465 2464
2466 // insert explicit padding? 2465 // insert explicit padding?
2467 if (alignedoffset < vd->offset) 2466 if (alignedoffset < vd->offset)
2468 { 2467 {