Only reference vfpr when available
authorThomas Preud'homme <robotux@celest.fr>
Wed, 21 Nov 2012 11:21:51 +0000 (21 12:21 +0100)
committerThomas Preud'homme <robotux@celest.fr>
Wed, 21 Nov 2012 11:21:51 +0000 (21 12:21 +0100)
A line in gfunc_call in arm-gen.c is referencing vfpr unconditionally.
Yet, this function is only available when TCC_ARM_VFP is set. While this
code is only triggered when TCC_ARM_VFP, it fails at compile time. This
commit fix the problem.

arm-gen.c

index d8e68ae..ea12fd6 100644 (file)
--- a/arm-gen.c
+++ b/arm-gen.c
@@ -1053,10 +1053,12 @@ void gfunc_call(int nb_args)
   for(i = 0; i < keep; i++) {
     vrotb(keep);
     gv(regmask(plan2[i]));
+#ifdef TCC_ARM_HARDFLOAT
     /* arg is in s(2d+1): plan2[i]<plan2[i+1] => alignment occured (ex f,d,f) */
     if (i < keep - 1 && is_float(vtop->type.t) && (plan2[i] <= plan2[i + 1])) {
       o(0xEEF00A40|(vfpr(plan2[i])<<12)|vfpr(plan2[i]));
     }
+#endif
   }
 save_regs(keep); /* save used temporary registers */
   keep++;