瀏覽代碼

* 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;