svn commit: r195400 - projects/mips/sys/libkern
Warner Losh
imp at FreeBSD.org
Mon Jul 6 08:00:27 UTC 2009
Author: imp
Date: Mon Jul 6 08:00:26 2009
New Revision: 195400
URL: http://svn.freebsd.org/changeset/base/195400
Log:
Be more pedantic here. If we're going to shift something
sizeof(long)*8 / 2 bits, then we better make sure we're shifting a
long that much, not an int.
# I'm surprised this is code would have a bug this basic.
Modified:
projects/mips/sys/libkern/qdivrem.c
projects/mips/sys/libkern/quad.h
Modified: projects/mips/sys/libkern/qdivrem.c
==============================================================================
--- projects/mips/sys/libkern/qdivrem.c Mon Jul 6 07:49:24 2009 (r195399)
+++ projects/mips/sys/libkern/qdivrem.c Mon Jul 6 08:00:26 2009 (r195400)
@@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$");
#include <libkern/quad.h>
-#define B (1 << HALF_BITS) /* digit base */
+#define B (1UL << HALF_BITS) /* digit base */
/* Combine two `digits' to make a single two-digit number. */
#define COMBINE(a, b) (((u_long)(a) << HALF_BITS) | (b))
Modified: projects/mips/sys/libkern/quad.h
==============================================================================
--- projects/mips/sys/libkern/quad.h Mon Jul 6 07:49:24 2009 (r195399)
+++ projects/mips/sys/libkern/quad.h Mon Jul 6 08:00:26 2009 (r195400)
@@ -94,7 +94,7 @@ union uu {
* (sizeof(long)*CHAR_BIT/2).
*/
#define HHALF(x) ((x) >> HALF_BITS)
-#define LHALF(x) ((x) & ((1 << HALF_BITS) - 1))
+#define LHALF(x) ((x) & ((1UL << HALF_BITS) - 1))
#define LHUP(x) ((x) << HALF_BITS)
typedef unsigned int qshift_t;
More information about the svn-src-projects
mailing list