Module Name:    src
Committed By:   he
Date:           Thu Mar 22 13:15:48 UTC 2012

Modified Files:
        src/lib/libc/gdtoa: strtod.c

Log Message:
A few modifications to make this build for vax:
 * The decpt variable is only used if INFNAN_CHECK, which isn't defined
   for vax.
 * Use a cast to avoid warning about shift of a signed variable.
 * Mark a condition as (potentially) a constant condition.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/lib/libc/gdtoa/strtod.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/gdtoa/strtod.c
diff -u src/lib/libc/gdtoa/strtod.c:1.9 src/lib/libc/gdtoa/strtod.c:1.10
--- src/lib/libc/gdtoa/strtod.c:1.9	Tue Mar 13 21:13:34 2012
+++ src/lib/libc/gdtoa/strtod.c	Thu Mar 22 13:15:48 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: strtod.c,v 1.9 2012/03/13 21:13:34 christos Exp $ */
+/* $NetBSD: strtod.c,v 1.10 2012/03/22 13:15:48 he Exp $ */
 
 /****************************************************************
 
@@ -97,7 +97,10 @@ strtod
 #ifdef Avoid_Underflow
 	int scale;
 #endif
-	int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, decpt, dsign,
+#ifdef INFNAN_CHECK
+	int decpt;
+#endif
+	int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign,
 		 e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign;
 	CONST char *s, *s0, *s1;
 	double aadj;
@@ -148,7 +151,10 @@ strtod
 #endif /*}}*/
 #endif /*}*/
 
-	sign = nz0 = nz = decpt = 0;
+#ifdef INFNAN_CHECK
+	decpt = 0;
+#endif
+	sign = nz0 = nz = 0;
 	dval(&rv) = 0.;
 	for(s = s00;;s++) switch(*s) {
 		case '-':
@@ -229,7 +235,9 @@ strtod
 	if (c == '.') {
 		c = *++s;
 #endif
+#ifdef INFNAN_CHECK
 		decpt = 1;
+#endif
 		if (!nd) {
 			for(; c == '0'; c = *++s)
 				nz++;
@@ -552,7 +560,7 @@ strtod
 					word1(&rv) &= 0xffffffff << j;
 				}
 #else
-			for(j = 0; e1 > 1; j++, e1 >>= 1)
+			for(j = 0; e1 > 1; j++, e1 = (unsigned int)e1 >> 1)
 				if (e1 & 1)
 					dval(&rv) *= tinytens[j];
 			/* The last multiplication could underflow. */
@@ -957,6 +965,7 @@ strtod
 					dval(&aadj1) += 0.5;
 				}
 #else
+			/* CONSTCOND */
 			if (Flt_Rounds == 0)
 				dval(&aadj1) += 0.5;
 #endif /*Check_FLT_ROUNDS*/

Reply via email to