فهرست منبع

* only don't insert passing alignment immediately for anonymous records
rather than for any anonymous aggregate, since for arrays we do know
the alignment even if we don't know the element count (because it only
depends on the elementdef, which is/will be set immediately)

git-svn-id: trunk@34390 -

Jonas Maebe 9 سال پیش
والد
کامیت
a7c893064a
1فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 3 1
      compiler/aasmcnst.pas

+ 3 - 1
compiler/aasmcnst.pas

@@ -1367,7 +1367,9 @@ implementation
        { if we're starting an anonymous record, we can't align it yet because
          the alignment depends on the fields that will be added -> we'll do
          it at the end }
-       else if not anonymous then
+       else if not anonymous or
+          ((def.typ<>recorddef) and
+           not is_object(def)) then
          begin
            { add padding if necessary, and update the current field/offset }
            info:=curagginfo;