Messages in this thread | | | Date | Tue, 2 Sep 2003 10:22:48 -0700 | From | William Lee Irwin III <> | Subject | Re: Sparse warning: bitmap.h: bad constant expression |
| |
On Mon, Sep 01, 2003 at 10:59:21PM +0300, Petri Koistinen wrote: > If I try to compile latest kernel with "make C=1" I'll get many warning > messages from sparse saying: > warning: include/linux/bitmap.h:85:2: bad constant expression > warning: include/linux/bitmap.h:98:2: bad constant expression > Sparse doesn't seem to like DECLARE_BITMAP macros. > #define DECLARE_BITMAP(name,bits) \ > unsigned long name[BITS_TO_LONGS(bits)] > So what is wrong with this and how it could be fixed so that sparse > wouldn't complain?
Basically, this thing is intended to be used with a constant bits argument that's constant folded etc. at all times, but sparse doesn't know that.
One way to deal with it is to turn the thing into a giant macro.
-- wli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ On Mon, Sep 01, 2003 at 10:59:21PM +0300, Petri Koistinen wrote: > If I try to compile latest kernel with "make C=1" I'll get many warning > messages from sparse saying: > warning: include/linux/bitmap.h:85:2: bad constant expression > warning: include/linux/bitmap.h:98:2: bad constant expression > Sparse doesn't seem to like DECLARE_BITMAP macros. > #define DECLARE_BITMAP(name,bits) \ > unsigned long name[BITS_TO_LONGS(bits)] > So what is wrong with this and how it could be fixed so that sparse > wouldn't complain?
Basically, this thing is intended to be used with a constant bits argument that's constant folded etc. at all times, but sparse doesn't know that.
One way to deal with it is to turn the thing into a giant macro.
-- wli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |