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

Reply via email to