aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Glöckner <daniel-gl@gmx.net>2011-05-17 02:24:45 +0200
committerDaniel Glöckner <daniel-gl@gmx.net>2011-05-17 02:24:45 +0200
commit28a5b702f4fcc86324afe843c19abf10be57198a (patch)
treeaa45fa2ab13a6c5a4d606adedd816944e55df1ee
parent8123e334e94f990fb5c0224b02b1002540a15b6d (diff)
downloadtinycc-28a5b702f4fcc86324afe843c19abf10be57198a.tar.gz
tinycc-28a5b702f4fcc86324afe843c19abf10be57198a.tar.bz2
Fix calling ARM EABI functions returning big structures
The wrong type was tested to determine the size of the structure.
-rw-r--r--arm-gen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arm-gen.c b/arm-gen.c
index 9e176a5..9feae1b 100644
--- a/arm-gen.c
+++ b/arm-gen.c
@@ -749,7 +749,7 @@ void gfunc_call(int nb_args)
gv(RC_INT);
#ifdef TCC_ARM_EABI
if((vtop[-nb_args].type.ref->type.t & VT_BTYPE) == VT_STRUCT
- && type_size(&vtop[-nb_args].type, &align) <= 4) {
+ && type_size(&vtop[-nb_args].type.ref->type, &align) <= 4) {
SValue tmp;
tmp=vtop[-nb_args];
vtop[-nb_args]=vtop[-nb_args+1];