aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/t_x86-64_sysv.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2026-03-25 16:36:29 +0100
committerlemon <lsof@mailbox.org>2026-03-25 16:36:29 +0100
commit79d6ac719042371d255ed1cf412e3232d13d1e56 (patch)
treef7d7ac5b94f68575bbfbf43f5f295c8a6c146b8f /src/t_x86-64_sysv.c
parent3eb74e33d9fb2fa1bfe3ba4757c79ed13330c104 (diff)
aarch64 struct arg passing ABI wip
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);