diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-03-21 14:59:04 -0400 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-03-22 10:34:31 -0400 |
commit | 665a45003a7b6d1e80cf56a21b2e24094703f7ea (patch) | |
tree | 321b768c5eab7de5082695d84a9cb957f3ddeedd | |
parent | 6b58aaa7ea87772216aa0d4bfb1f3d959450c040 (diff) | |
download | roux-665a45003a7b6d1e80cf56a21b2e24094703f7ea.tar.gz |
fix incorrect size increment in abi (abi fuzzer)
Sizes are expressed in multiples of 4 bytes, so we need to divide the size of aggregate types by four when computing stack offsets.
-rw-r--r-- | lisc/isel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lisc/isel.c b/lisc/isel.c index a00c4f2..ab8e46c 100644 --- a/lisc/isel.c +++ b/lisc/isel.c @@ -819,7 +819,7 @@ selpar(Fn *fn, Ins *i0, Ins *i1) if (a->align == 4) s = (s+3) & -4; fn->tmp[i->to.val].slot = -s; /* HACK! */ - s += a->size; + s += a->size / 4; continue; case 2: *curi++ = (Ins){OLoad, i->to, {SLOT(-s)}, i->cls}; |