Fix alignment of structs containing real

This commit is contained in:
Alexey Prokhin
2011-02-25 22:29:43 +03:00
parent 1653abbbc9
commit 3bb91c7513
2 changed files with 11 additions and 8 deletions

View File

@@ -226,10 +226,13 @@ void AggregateDeclaration::addField(Scope *sc, VarDeclaration *v)
if (!isUnionDeclaration())
sc->offset = ofs;
#endif
#if !IN_LLVM
if (global.params.is64bit && sc->structalign == 8 && memalignsize == 16)
/* Not sure how to handle this */
;
else if (sc->structalign < memalignsize)
else
#endif
if (sc->structalign < memalignsize)
memalignsize = sc->structalign;
if (alignsize < memalignsize)
alignsize = memalignsize;