aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/t_x86-64_sysv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/t_x86-64_sysv.c')
-rw-r--r--src/t_x86-64_sysv.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/t_x86-64_sysv.c b/src/t_x86-64_sysv.c
index 852aa24..96f40d6 100644
--- a/src/t_x86-64_sysv.c
+++ b/src/t_x86-64_sysv.c
@@ -40,12 +40,15 @@ classifyarr(uchar cls[2], Type ty, uint off)
return !!cls[0] + !!cls[1];
}
+/* XXX types with alignment >= 16 */
+
static int
classify(uchar cls[2], const TypeData *td, uint off)
{
uint siz = alignup(td->siz, 4);
if (siz > 16) /* MEMORY */
return 0;
+ assert(isaggt(td->t));
for (int i = 0; i < td->nmemb; ++i) {
FieldData *fld = &td->fld[i].f;
uint align = typealign(fld->t);