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.
Unified · Split
| @@ -1053,10 +1053,12 @@ void gfunc_call(int nb_args) · 1052 unmodified lines | ||
| 1053 | 1053 | for(i = 0; i < keep; i++) { |
| 1054 | 1054 | vrotb(keep); |
| 1055 | 1055 | gv(regmask(plan2[i])); |
| 1056 | +#ifdef TCC_ARM_HARDFLOAT | |
| 1056 | 1057 | /* arg is in s(2d+1): plan2[i]<plan2[i+1] => alignment occured (ex f,d,f) */ |
| 1057 | 1058 | if (i < keep - 1 && is_float(vtop->type.t) && (plan2[i] <= plan2[i + 1])) { |
| 1058 | 1059 | o(0xEEF00A40|(vfpr(plan2[i])<<12)|vfpr(plan2[i])); |
| 1059 | 1060 | } |
| 1061 | +#endif | |
| 1060 | 1062 | } |
| 1061 | 1063 | save_regs(keep); /* save used temporary registers */ |
| 1062 | 1064 | keep++; |