Le mardi 4 février 2014, 22:31:07 Thomas Preud'homme a écrit :
>
> Can you try with the attached patch applied?
Sorry, bad copy paste. Please try this patch instead.
best regards,
thomas
diff --git a/lib/libtcc1.c b/lib/libtcc1.c
index 44208cd..d6ae296 100644
--- a/lib/libtcc1.c
+++ b/lib/libtcc1.c
@@ -540,6 +540,8 @@ unsigned long long __fixunssfdi (float a1)
exp = EXP (fl1.l) - EXCESS - 24;
l = MANT(fl1.l);
+ if (SIGN(fl1.l))
+ l = -l;
if (exp >= 41)
return (unsigned long long)-1;
else if (exp >= 0)
@@ -565,6 +567,8 @@ unsigned long long __fixunsdfdi (double a1)
l = MANTD_LL(dl1);
+ if (SIGND(dl1))
+ l = -l;
if (exp >= 12)
return (unsigned long long)-1;
else if (exp >= 0)
@@ -590,6 +594,8 @@ unsigned long long __fixunsxfdi (long double a1)
l = dl1.l.lower;
+ if (SIGNLD(dl1))
+ l = -l;
if (exp > 0)
return (unsigned long long)-1;
else if (exp >= -63)
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel