Date: Mon, 6 Jul 2009 08:00:26 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r195400 - projects/mips/sys/libkern Message-ID: <200907060800.n6680QMn072666@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907060800.n6680QMn072666>