Skip to content

Commit 5de6943

Browse files
committed
fix for i386
1 parent cf39870 commit 5de6943

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

lisp/c/eval.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1306,8 +1306,18 @@ pointer args[];
13061306
if (resulttype==K_FLOAT || resulttype==K_FLOAT32) {
13071307
union {
13081308
eusfloat_t f;
1309-
eusinteger_t i;
1309+
#if __ARM_ARCH==4
1310+
eusinteger_t i; // ARM 32bit armel
1311+
#else
1312+
eusfloat_t i; // Intel 32bit x86
1313+
#endif
13101314
} n;
1315+
#if __ARM_ARCH==4
1316+
#else
1317+
eusinteger_t (*tmp_ifunc)() = ifunc;
1318+
double (*ifunc)();
1319+
ifunc=(double (*)())tmp_ifunc;
1320+
#endif
13111321
if (i<=8)
13121322
n.i=(*ifunc)(cargv[0],cargv[1],cargv[2],cargv[3],
13131323
cargv[4],cargv[5],cargv[6],cargv[7]);
@@ -1343,6 +1353,7 @@ pointer args[];
13431353
cargv[72],cargv[73],cargv[74],cargv[75],
13441354
cargv[76],cargv[77],cargv[78],cargv[79]);
13451355
#endif
1356+
fprintf(stderr, "%d %f\n", n.i, n.f);
13461357
return(makeflt(n.f));}
13471358
else {
13481359
if (i<8)

0 commit comments

Comments
 (0)