Messages in this thread | | | Date | Tue, 2 Sep 2003 12:23:44 +0200 | From | Mikael Pettersson <> | Subject | Re: Sparse warning: bitmap.h: bad constant expression |
| |
=?iso-8859-1?Q?J=F6rn?= Engel writes: > On Mon, 1 September 2003 18:57:02 -0700, Dave Olien wrote: > > > > The problem seems to be that sparse currently will only accept array > > declarations with a size that can be evaluated at compile time to > > a fixed value. So an array declaration of the form: > > > > int asize; > > int data[asize]; > > > > will fail. sparse needs to be modified to recognize this type of > > declaration with a variable array size. That'll take a few hours of > > someone's time to fix. > > Not quite true. The above is an implicit call to alloca and should > not exist in the kernel. No need to hack support into sparse.
If data is a local variable then this is perfectly valid example of a C99 variable-length array (VLA). This works at least with gcc-2.95.3 and newer, and gcc handles it by itself w/o calling alloca().
Of course, VLAs should be bounded in size to avoid overflowing the kernel stack, but that doesn't make them illegal per se.
/Mikael - 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/
| |