diff options
Diffstat (limited to 'src/t_x86-64_sysv.c')
| -rw-r--r-- | src/t_x86-64_sysv.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/t_x86-64_sysv.c b/src/t_x86-64_sysv.c index 8686571..9f1d59c 100644 --- a/src/t_x86-64_sysv.c +++ b/src/t_x86-64_sysv.c @@ -5,6 +5,10 @@ static int classify(uchar cls[2], const TypeData *td, uint off); static void clsscalar(uchar cls[2], uint off, Type ty) { + if (iscomplex(ty)) { + classify(cls, &typedata[complex2struct(ty).dat], off); + return; + } enum irclass k = type2cls[scalartypet(ty)]; uchar *fcls = &cls[off/8]; if (isflt(ty)) { /* SSE */ |