aboutsummaryrefslogtreecommitdiff
path: root/tcc.c
diff options
context:
space:
mode:
Diffstat (limited to 'tcc.c')
-rw-r--r--tcc.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/tcc.c b/tcc.c
index f707791..2ba115d 100644
--- a/tcc.c
+++ b/tcc.c
@@ -4802,13 +4802,12 @@ void save_reg(int r)
r = p->r & VT_VALMASK;
/* store register in the stack */
type = &p->type;
-#ifndef TCC_TARGET_X86_64
- if ((p->r & VT_LVAL) ||
+ if ((p->r & VT_LVAL) ||
(!is_float(type->t) && (type->t & VT_BTYPE) != VT_LLONG))
- type = &int_type;
-#else
- if (p->r & VT_LVAL)
+#ifdef TCC_TARGET_X86_64
type = &char_pointer_type;
+#else
+ type = &int_type;
#endif
size = type_size(type, &align);
loc = (loc - size) & -align;