[kaffe] CVS kaffe (robilad): Soft float fixlet for mips-linux

Kaffe CVS cvs-commits at kaffe.org
Fri Mar 25 15:52:33 PST 2005


PatchSet 5605 
Date: 2005/03/25 23:46:58
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
Soft float fixlet for mips-linux

2005-03-25  Antonio Tringali <antonio.tringali at aliceposta.it>

        * kaffe/kaffevm/soft.c: (soft_cvtfi) Compare float against
        floating point constants to fix SIGILL on mips-linux.

Members: 
	ChangeLog:1.3777->1.3778 
	kaffe/kaffevm/soft.c:1.75->1.76 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3777 kaffe/ChangeLog:1.3778
--- kaffe/ChangeLog:1.3777	Fri Mar 25 22:09:50 2005
+++ kaffe/ChangeLog	Fri Mar 25 23:46:58 2005
@@ -1,3 +1,8 @@
+2005-03-25  Antonio Tringali <antonio.tringali at aliceposta.it>
+
+	* kaffe/kaffevm/soft.c: (soft_cvtfi) Compare float against
+	floating point constants to fix SIGILL on mips-linux.
+	
 2005-03-25  Bryan Østergaard  <kloeri at gentoo.org>
 
 	Warning fixes for alpha-linux.
Index: kaffe/kaffe/kaffevm/soft.c
diff -u kaffe/kaffe/kaffevm/soft.c:1.75 kaffe/kaffe/kaffevm/soft.c:1.76
--- kaffe/kaffe/kaffevm/soft.c:1.75	Mon Dec 27 17:27:00 2004
+++ kaffe/kaffe/kaffevm/soft.c	Fri Mar 25 23:46:59 2005
@@ -987,7 +987,7 @@
 jint
 soft_cvtfi(jfloat v)
 {
-        jint vbits;
+    jint vbits;
 
 	vbits = floatToInt(v);
         if (FISNAN(vbits)) {
@@ -1000,17 +1000,18 @@
 	else {
 		v = floor(v);
 	}
+
 	/* If too small return smallest int */
-	if (v <= -2147483648.0) {
+	if (v <= -2147483648.0f) {
 		return (-2147483647-1);
 	}
+
 	/* If too big return biggest int */
-	else if (v >= 2147483647.0) {
+	if (v >= 2147483647.0f) {
 		return (2147483647);
 	}
-	else {
-		return ((jint)v);
-	}
+
+	return ((jint)v);
 }
 
 jint




More information about the kaffe mailing list