aboutsummaryrefslogtreecommitdiff
path: root/x86_64-gen.c
diff options
context:
space:
mode:
Diffstat (limited to 'x86_64-gen.c')
-rw-r--r--x86_64-gen.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/x86_64-gen.c b/x86_64-gen.c
index d837a1d..90c8247 100644
--- a/x86_64-gen.c
+++ b/x86_64-gen.c
@@ -1066,12 +1066,8 @@ static X86_64_Mode classify_x86_64_inner(CType *ty)
case VT_STRUCT:
f = ty->ref;
- // Detect union
- if (f->next && (f->c == f->next->c))
- return x86_64_mode_memory;
-
mode = x86_64_mode_none;
- for (; f; f = f->next)
+ for (f = f->next; f; f = f->next)
mode = classify_x86_64_merge(mode, classify_x86_64_inner(&f->type));
return mode;