diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/sizealignoffsetimpl.nim | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/sizealignoffsetimpl.nim b/compiler/sizealignoffsetimpl.nim index f5ecc04b1..c8da18cf9 100644 --- a/compiler/sizealignoffsetimpl.nim +++ b/compiler/sizealignoffsetimpl.nim @@ -310,9 +310,9 @@ proc computeSizeAlign(conf: ConfigRef; typ: PType) = for i in countup(0, sonsLen(typ) - 1): let child = typ.sons[i] computeSizeAlign(conf, child) - if child.size == szIllegalRecursion: - typ.size = szIllegalRecursion - typ.align = szIllegalRecursion + if child.size < 0: + typ.size = child.size + typ.align = child.align return maxAlign = max(maxAlign, child.align) sizeAccum = align(sizeAccum, child.align) + child.size |